grep(Globel Search Regular Expression and Printing out the line)
它能使用正則表達式搜索文本,并把匹配的行打印出來。
grep包括grep、egrep和fgrep。
egrep表示擴展的grep,相比grep支持更多的匹配模式,
“grep -E”相當于egrep。
fgrep是fast grep,不支持正則表達式,但是搜索速度更快。
grep重要特性:搜索的結果被送到屏幕,不會影響到原文件內容。
1、grep的用法
grep不加引號直接過濾字符串;
grep在進行模式匹配的時候必須加引號,單引和雙引號都可以;
grep在引用變量的時候必須加雙引號
2、grep的選項[option]
Blockquote
-r:遞歸的搜索
-v:反向選取,只顯示不符合模式的行
-o:只顯示被模式匹配到的字符串,而不是整個行
-i:匹配時不區分大小寫
-A #:顯示匹配到的行時,順便顯示后面的#行(#表示數值)
-B #:前面的#行
-C #:前后的#行
-E:使用擴展的正則表達式[egrep]Blockquote
基本正則表達式:
.: 任意單個字符
[]: 范圍內的
*: 任意次
\?: 0或1次
{m,n}:至少m次,至多n次;
.*: 任意單個字符任意次
^:行首錨定
$:行尾錨定
\<, \b:詞首錨定
>, \b:詞尾錨定
()分組
\1, \2, \3, …分組引用
擴展正則表達式
?:0次或1次
+: 匹配其前面的字符至少1次
{m,n}:至少m次,至多n次
():分組
\1, \2, \3, …分組引用
或者
|: or
顯示/proc/meminfo文件中以不區分大小的s開頭的行;
顯示/etc/passwd中以nologin結尾的行;
顯示/etc/passwd中,r后跟了o,o出現0次或者1次的行;
顯示/etc/passwd中,r后跟了o,o出現至少1次至多2次的行;
顯示/etc/passwd中,r后跟了o,o只出現2次的行;
顯示/etc/passwd中,匹配root這個單詞的行;
原創文章,作者:sean0910,如若轉載,請注明出處:http://www.www58058.com/72639