grep檔案裡的特殊字元字串 - Linux

Table of Contents

※ 引述《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

--
my blog: http://kenshinnn.blogspot.com
operation system : Ubuntu GNU/linux
window manager : Gnome

--

All Comments

Victoria avatarVictoria2014-10-19
謝謝回覆 可能是grep版本造成 明天回工作崗位做確認 感謝
Regina avatarRegina2014-10-24
今天試了你提到的方法 是可行的 謝謝你