歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> grep命令用法

grep命令用法

日期:2017/2/28 13:59:40   编辑:Linux教程

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

Copyright © Linux教程網 All Rights Reserved