우분투 12.04.1 LTS의 bash 쉘 에서이 명령을 실행하고 있습니다. 한 번에 [
와 ]
문자를 모두 제거하려고합니다 . 즉 두 번째로 sed로 파이프하지 않아도됩니다.
대괄호는 정규 표현식에서 특별한 의미가 있으므로 백 슬래시를 앞에 붙여서 대괄호를 피하고 있습니다. 내가 기대했던 결과는 단지 문자열 123
이지만 대괄호는 남아 있으며 이유를 알고 싶습니다!
~$ echo '[123]' | sed 's/[\[\]]//'
[123]
str='[123]'; str1=${str/\[/}; str2=${str1/\]}; echo $str2