Я запускаю эту команду в оболочке bash на Ubuntu 12.04.1 LTS. Я пытаюсь удалить [
и ]
символы, и символы одним махом, т. Е. Без необходимости переадресации к sed во второй раз.
Я знаю, что квадратные скобки имеют особое значение в регулярном выражении, поэтому я избегаю их, добавляя обратную косую черту. Результат, который я ожидал, - это просто строка, 123
но квадратные скобки остались, и я хотел бы знать, почему!
~$ echo '[123]' | sed 's/[\[\]]//'
[123]
str='[123]'; str1=${str/\[/}; str2=${str1/\]}; echo $str2