正則表示式:

            Basic REGEXP:基本

            Extended REGEXP:擴充套件

grep:使用基本正則表示式定義的模式來過濾文字的命令;

           -E: 使用擴充套件正則表示式

           -A #: after 後#行

           -B #: before 前#行

           -C #: 前後各#行

擴充套件正則表示式:

字元匹配:

.:匹配任意單個字元

[]:匹配指定範圍內的任意單個字元

[^]:匹配指定範圍外的任意單個字元

     字元集合:[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:]

次數匹配:

*:匹配其前面的字元任意次        

?:匹配其前面的字元1次或0次

+: 匹配其前面的字元至少1次

{m,n}: 匹配其前面的字元至少m次,至多n次

位置錨定:

^:錨定行首,此字元後面的任意內容必須出現在行首

$:錨定行尾,此字元前面的任意內容必須出現在行尾

\<:錨定詞首,其後面的任意字元必須作為單詞首部出現

\>:錨定詞尾,其前面的任意字元必須作為單詞的尾部出現

分組:

():分組

\1, \2, \3, ...

或者

|: or

C|cat: Cat或cat, C或cat

grep -E = egrep

Tips

  • [[email protected] ~]# grep -E '(C|c)at' test4.txt
  • 找出/boot/grub/grub.conf檔案中1-255之間的數字;

 \<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>

  • ifconfig | egrep --color '(\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.){3}\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'

\逃逸符  讓一個元字元表示他本身的意義   \.