首頁 > 軟體

grep命令用法

2020-06-16 17:56:44

1、grep家族

grep: Global search Regular Expression(RE) and Print out the line
grep家族包括grep、egrep和fgrep,egrep和fgrep和grep只有很小的不同。
egrep是grep的擴充套件,支援更多的元字元,等效於grep -E。
fgrep是fixed grep, 或fast grep,它不識別任何正規表示式,所有的字元都表示它自己,等效於grep -F。

2、grep支援的元字元集

支援正規表示式基本元字元集和附加元字元集。
另外,還支援grep擴充套件元字元集,主要的有:

w          文字和數位字元,即[A-Za-z0-9]        Lw*e           匹配一個L字元,緊跟著0個或者多個文字或數位字元,然後是e
W         非文字和數位字元,即[^A-Za-z0-9],和w相反
+           匹配1個或多個先前字元                          [a-z]+ove   匹配一個小寫字元且後面是ove的。
?            匹配0個或1個先前字元
a|b|c     匹配a或b或c                                                   hate|love

3、egrep

在GNU grep(grep -G)裡,如果在字元前面加一個反斜槓,這個字元就被翻譯成擴充套件正規表示式,就像egrep和grep -E一樣。
$egrep 's(h|u)' datafile

$grep -E 's(h|u)' datafile

$grep 's(h|u)' datafile

例外:單詞錨定符號< >,無論什麼grep,都必須加反斜槓
$grep '<north>' datafile
$grep -E '<north>' datafile
$egrep '<north>' datafile
$grep -w 'north' datafile

4、grep選項

-c   只顯示匹配行的數量
-i   忽略大小寫
-n   列印行號
-s   靜默工作,不顯示錯誤資訊
-q   靜默工作,不顯示查詢結果
-v   只顯示不匹配的行
-w   等效於< >

5、例子

1)在一個或多個檔案中查詢字串
#grep "hello,world" ./hello1.txt ./hello2.txt

2)查詢Summary資訊
#../gcc-4.4.1/contrib/test_summary|grep -A7 Summary
查詢帶有Summary的行,同時顯示該行後面7行,這種用法用於顯示一些測試結果中的summary資訊。

3)遞回查詢目錄
#grep -R 'typedef struct page {' ./

4)翻轉查詢結果
#grep -v  deinstall //查詢不包含deinstall的行 

grep使用簡明及正規表示式  http://www.linuxidc.com/Linux/2013-08/88534.htm

Linux下Shell程式設計——grep命令的基本運用 http://www.linuxidc.com/Linux/2013-06/85525.htm

grep 命令詳解及相關事例 http://www.linuxidc.com/Linux/2014-07/104041.htm

Linux基礎命令之grep詳解 http://www.linuxidc.com/Linux/2013-07/87919.htm

設定grep高亮顯示匹配項 http://www.linuxidc.com/Linux/2014-09/106871.htm

Linux grep命令學習與總結 http://www.linuxidc.com/Linux/2014-10/108112.htm

14 個 grep 命令的例子 http://www.linuxidc.com/Linux/2015-05/117626.htm

本文永久更新連結地址http://www.linuxidc.com/Linux/2015-08/120886.htm


IT145.com E-mail:sddin#qq.com