egrep及扩展正则表达式

正则表达式:

            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

  • [root@mysql ~]# 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])\>'

\逃逸符  让一个元字符表示他本身的意义   \.

你可能感兴趣的:(linxu)