Tôi đang chạy lệnh này trong shell bash trên Ubuntu 12.04.1 LTS. Tôi đang cố gắng loại bỏ cả nhân vật [
và ]
nhân vật trong một cú trượt ngã, tức là không cần phải ống để quyến rũ lần thứ hai.
Tôi biết dấu ngoặc vuông có ý nghĩa đặc biệt trong biểu thức chính quy vì vậy tôi thoát khỏi chúng bằng cách thêm dấu gạch chéo ngược. Kết quả tôi mong đợi chỉ là chuỗi 123
nhưng dấu ngoặc vuông vẫn còn và tôi muốn biết tại sao!
~$ echo '[123]' | sed 's/[\[\]]//'
[123]
str='[123]'; str1=${str/\[/}; str2=${str1/\]}; echo $str2