一:grep的簡介:
文本搜索工具,根據用戶指定的文本模式對目標文件進行逐行搜索,顯示能夠被模式所匹配到的行。配合正則表達式的使用可以實現強大的文本處理。下面一一說明正則的例子。
二:文本處理工具分類
常用的有:grep,egrep,fgrep。
區別:
grep:在沒有參數的情況下,只輸出符合RE(Regular Expression)字符。
egrep:等同於grep -E,和grep最大的區別就是表現在轉義符上比如grep 做次數匹配時\{n,m\}egrep則不需要直接{n,m}。egrep方便,簡介。
fgrep:等同於grep -f,但是不能使用正則表達式。所有的字符匹配功能均已消失。
三:grep參數說明:
格式:grep [OPTIONS] PATTERN(模式) [FILE...]
常用選項:
--color=auto:顯示顏色的參數。
-n:輸出行號。
-v:反向匹配,顯示不能被模式所匹配到的行。比如指定root,匹配的就不是root。
例子:
-o:僅顯示被模式匹配到的所指定的字符。
-i:不區分大小寫字符。
-A #:不但能匹配到指定的字符那一行。而且字符後面所指定的n行也能顯示出來。
-B #:不但能匹配到指定的字符那一行。而且字符前面所指定的n行也能顯示出來。
-C #:不但能匹配到指定的字符那一行。而且字符前後所指定的n行也能顯示出來。
為了方便我把grep --color=auto定義一個別名,別名為cgrep。方便使用。後續直接使用cgrep 就能顯示顏色了。
alias cgrep="grep --color=auto"
四:常用的字符匹配和實例:
只要使用字符匹配和一些元字符的時候,必須用引號引起來;
引號用單引或雙引都即可。
.:任意單個字符,指的就是一個點代表1個字符。這個字符不特殊指分,符號也行。
[]:指定范圍內的任意單個字符。這個括號中指定的字符都能匹配出來,匹配范圍廣。
[^]:指定范圍外的任意單個字符,和上面[]這個想法。取反。通俗的意思就是括號中所指定的字符,就匹配不到了。