[Mac/Linux] 用 fgrep 或 grep -F 搜尋(非正規表示法的)固定字串
今天想要從 log 裡面找一個 URL,不過問題是這個 URL 裡面有帶一些特殊符號,
例如 “?” 會被 egrep 辨認為零或一個的出現次數,
而導致我沒辦法用 egrep 直接搜尋整個 URL:
testuser@localhost ~ $ echo "URL: http://g.com/a?b=c is connected." | egrep "http://g.com/a?b=c"
找了一下,原來 grep 也還是有支援固定字串的搜尋的,
這樣子不管它要搜尋的字串裡有沒有特殊符號,搜尋起來也都沒有問題了~
舉例來說,可以用 fgrep (fixed-string grep) 來執行:
testuser@localhost ~ $ echo "URL: http://g.com/a?b=c is connected." | fgrep "http://g.com/a?b=c"
也可以用 grep -F 選項來執行,效果是一樣的:
testuser@localhost ~ $ echo "URL: http://g.com/a?b=c is connected." | grep -F "http://g.com/a?b=c"
參考資料:stackoverflow: Grep not as a regular expression
(本頁面已被瀏覽過 486 次)