※ 引述《thisgo (尋夢園)》之銘言:
: 版友好
: 有個grep特殊字元的問題想請教
: Q:
: 若想在檔案裡 搜尋特定字串如右 ~!@#$%^&*()_+ {}[]|\:";'<>?, /AZ
: 假設有一個隨機檔案data.txt內容是
: AA="XXX223"
: BB=a132423davqef1
: CC='OOOOOOOO'
: DD="~!@#$%^&*()_+ {}[]|\:";'<>?, /AZ"
: EE=e12eee eqwf
恕刪
我試了幾個方法,單引號跟雙引號遇到的問題不同
cat data.txt| grep '~!@#$%^&\*()\_+ {}\[\]|\\:";'"'"'<>?, /AZ'
^^^
用了另一組雙引號把單引號包起來
cat bb| grep "~\!@#$%^&\*()\_+ {}\[\]|\\\\:\";'<>?, /AZ"
^^^^
雙引號中的反斜線的雙重escape
我的 /bin/sh 是 dash
我測試 bash 結果也是一樣的
關鍵應該是在 grep
grep 版本是 2.10
https://www.dropbox.com/s/nxrhrcl6ljf6g4b/bb.png