Ich führe diesen Befehl in einer Bash-Shell unter Ubuntu 12.04.1 LTS aus. Ich versuche, sowohl die [
als auch die ]
Zeichen auf einen Schlag zu entfernen , dh ohne ein zweites Mal pfeifen zu müssen, um zu sedieren.
Ich weiß, dass eckige Klammern in einem regulären Ausdruck eine besondere Bedeutung haben, daher kann ich sie umgehen, indem ich ihnen einen Backslash voranstelle. Das Ergebnis, das ich erwartet hatte, war nur die Saite, 123
aber die eckigen Klammern bleiben und ich würde gerne wissen, warum!
~$ echo '[123]' | sed 's/[\[\]]//'
[123]
str='[123]'; str1=${str/\[/}; str2=${str1/\]}; echo $str2