Ich habe eine Zeichenfolge, die mit Klammern, die ein einzelnes Zeichen, wie solches einschließen:sed - Klammern durch Zeichen ersetzen?
[a]
ich das Zeichen innerhalb der Klammer und ersetzen Sie die Halterung mit dem Charakter, so dass das Endergebnis aussehen würde nehmen wollen:
aaa
Dies ist, was ich mit aufkam, aber es funktioniert nicht:
sed 's/\[ \([a-z]\) \]/\2/g' < testfile
Kann mir bitte jemand helfen und erklären Warum funktioniert mein Befehl nicht?
Was für die Räume in dem Muster sind? Welches Capture (aus dem Muster) soll '\ 2' sein? Sie ersetzen fünf Zeichen durch ein Zeichen. Ist es das, was du meintest? –
Löschen Sie die Leerzeichen und verdreifachen Sie das '\ 1', zB:' sed 's \ \ [\ ([az] \) \]/\ 1 \ 1 \ 1/g'' –
'sed -e' s/\ [\ (. \) \]/\ 1 \ 1 \ 1/g'' – DigitalRoss