grep的使用【轉】


grep的作用是顯示匹配一個或多個模式的文本行。時常會作為管道(|)的第一步,以便對匹配的數據作進一步處理。grep常用於查找和替換文本的。在傳統上,grep有3個版本:grep、egrep(擴展grep)和fgrep(快速grep)。現在grep已經整合成一個,選項:-E和-F分別對應egrep和fgrep。另外還有非標准的agrep。

對於壓縮文件,則應使用zgrep, zegrep以及zfgrep,當然對於未壓縮文件的也可以使用。功能上類似於grep。grep在Unix、Linux以及windows上均有,這里 僅對Linux上的grep進行簡單略述。grep常結合正則表達式使用,但這里並不講述正則表達式的內容。

語法:

1、grep [OPTIONS] PATTERN [FILE...]

2、grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]

示例:

1、使用grep查看root的登錄信息行

$ who | grep -F root

$ who | grep root

2、不顯示以a開頭的行

$ ls -l | grep -v '^a'

3、忽略模式匹配大小寫

$ grep -i ‘abc’ file.txt

grep默認情況下區分大小寫的。

4、將/dev/null作為第二個文件參數使用

$ grep 'abc$' file.txt /dev/null

5、使用文件路徑遞歸查找與模式匹配的文件的文件名

$ grep -ril ‘abc’ /etc/passwd

6、高亮匹配字

$ man grep | grep  --color -e --color

常用選項:

-E 使用正則表達式進行匹配。grep -E可取代傳統的egrep。

-F 使用固定字符串進行匹配。grep -F可取代傳統的fgrep命令。

-e PATTERN, --regexp=PATTERN 可指定參數為模式,用於防止以“-”開頭的模式被解釋為命令選項。多模式可使用換行字符分隔。

-f FILE, --file=FILE 從FILE文件讀取模式做匹配。

-i 模式匹配時忽略字母大小寫差異。

-w 只顯示單詞嚴格匹配的行。

-x 只顯示整行嚴格匹配的行。

-s 不顯示錯誤信息。通常與-q並用。

-v 顯示不匹配模式的行。

-b 在輸出的每一行前顯示包含匹配字符串的行在文件中的字節偏移量。

-n 在輸出前加上匹配串所在行的行號(文件首行行號為1)。

-c 只顯示匹配行的數量。

-h 在查找多個文件時,指示grep不要將文件名加入到輸出之前。

-l 列出匹配模式的文件名稱,而不是打印匹配的行。

-q 靜默地。如果模式成功匹配,則grep會成功的離開,而不講匹配的行寫入標准輸出;否則即是不成功。

-r 遞歸搜索目錄

PS:

在最后的100行中查找:tail -n 100 filename | grep XXX

從前往后查找: cat xxx | grep xx

從后往前查找:tac xxx | grep xx


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM