範例 1

grep -nr "test" package/ > ../filename

只要有含 test 的字串都會被列出 , 例如 : 123test , test123 , test

若要搜尋符合整個 test , 加上 w 這個參數即可 , grep -nrw "test" package/ > ../filename

 

範例 2 

grep -nr "test123\.c" package/ > ../filename

grep -nr "test123\-c" package/ > ../filename

若要搜尋的字串裡有這些符號 . - [ ]

在符號前面要加上 \ 反斜線

 

範例 3

grep -nr "test123.c" package/ > ../filename

若 . 前不加 \ 反斜線

. 代表任意 "一個" 字元

.. 代表任意 2 個字元

這題範例會搜尋 test123ac , test123bc , test123cc 等等

 

範例 4

grep -nr "test123.*c" package/ > ../filename

.* 代表任意字元 , 可以沒有字元或很多字元

會搜尋 test123c , test123ac , test123abc , test123abcc 等等

 

範例 5

有時在搜尋時會出現一些錯誤訊息 , 例如 No such file or directory

這個指令可以將錯誤訊息丟掉 grep -nr "test" package/ 2> /dev/null

這個指令只將正確訊息存到 filename , grep -nr "test" package/ 1> ../filename 

 

範例 6

grep -nr "\.ko" package/ --include="Makefile" > ../filename

這行會搜尋有 .ko 的字串

不過只會搜尋 package 目錄底的 Makefile

 

也可以下 2 個 --include , 例如

grep -nr "MRC" package/dhcp-4.1.1/ --include="*.h" --include="*.c" > ../filename

這樣只會搜尋 .h 和 .c 的檔案

 

參數說明

-i : 不分大小寫

-n : 顯示搜尋目標所在的行數

-r : 搜尋目錄下的每個檔案

-w : 符合整個字

 

實用網站

https://linux.die.net/man/1/grep

 

待續

看完文章請按 讚 or 推 , 感謝啦 ~ 

文章標籤
創作者介紹

Kai-Cho 的環遊世界

Kai-Cho 發表在 痞客邦 PIXNET 留言(0) 人氣()