grep 全名為 全面搜尋正規表達式并把行列印出來(global search regular expression)
grep搜尋以 FILE 命名的檔案輸入 (或者是标準輸入,如果沒有指定檔案名,或者給出的檔案名是 - 的話),尋找含有與給定的模式 PATTERN(正規表達式) 相比對的内容的行。預設情況下, grep 将把含有比對内容的行列印出來。
另外,也可以使用兩個變種程式 egrep 和 fgrep 。 Egrep 與 grep -E 相同。 Fgrep 與 grep -F 相同
grep的用法: 指令參數詳解參考
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]
grep與egrep的常用選項(OPTIONS):
示範文本
aaat
bbb
ttt
BBB
-i:忽略大小寫

-o:顯示比對到的内容
-v:反向選取
-A #:比對到的行的下#行
-B #:比對到的行的上#行
-C #:比對到行的上下各#行
--color=auto:比對的顯示顔色
-n:顯示行号
grep與egrep的模式(PATTERN):
字元比對
gd
god
good
goood
gooood
grep示範
. :可以匹任意單個單詞
集合相關
abc123 %^#ABC
grep示範
比對到集合中的相關内容
egrep示範
次數比對
god
good
goood
gooood
\?:比對前面的字元0次或1次
\{m\}: 比對其前面的字元m次;
\{m,n\}:比對其前面的字元至少m次,至多n次;
\{m,\}:比對其前面的字元至少m次
\+:比對前面的字元至少1次 與\{1,\}效果一樣
.*:比對任意長度的任意字元,連空格行也比對出來了
位置錨定
abc:1abc
1abc:abc1
^: 行首錨定
$: 行尾錨定
^$: 空白行
\<: 詞首錨定, \b
\>:詞尾錨定,\b
\<pattern\>比對單詞
通過一下示範可以表明詞首或詞尾錨定隻能錨定數字和字母,字母和數字連在一起相當于一個單詞
分組,或
qqgodrrrgoogle
dddgooglerrrgod
godee
googlerrrgod
加和不加分組括号沒什麼差別
加完後前面再加一個"^",隻能顯示行首錨定的god和google
不加分組括号,隻能顯示行首錨定god的和所有行有google的
後向引用 \1, \2, \3:
模式自左而右,後向引用:模式中,如果使用\(\)實作了分組,在某行文本的檢查中,如果\(\)的模式比對到了某内容,此内容後面的模式中可以被引用;引用第#個左括号以及與其比對右括号之間的模式比對到的内容
示範文本:go! go! Let's go.
如不加括号,提示無效的向後引用
加括号後能正确比對
把比對範圍縮小到g後的10個字元内
向後引用o這個單詞