1.grep正则表达式扩展模式
grep [选项] 模式 [文件...] -E 使用扩展正则表达式,也和直接使用egrep命令 -A 1 显示匹配行的后2行内容 -B 2 显示匹配行的前2行内容 -C 3 显示匹配行的前后2行内容
2.扩展正则表达式元字符
. 匹配任意单个字符 [] 匹配指定范围内的任意单个字符 [^] 匹配指定范围外的任意单个字符
3.扩展正则表达式次数匹配
* 匹配其前面的字符任意次 ? 匹配其前面的字符1次或0次 + 匹配其前面的字符至少1次 {m,n} 匹配至少m次,至多n次
4.扩展正则表达式位置锚定
^ 锚定行首,此字符后面的任意内容必须出现在行首 $ 锚定行尾,此字符前面的任意内容必须出现在行尾 \<或\b 锚定词首,其后面的任意字符必须作为单词首部出现 \>或\b 锚定词尾,其前面的任意字符必须作为单词的尾部出现
5.扩展正则表达式分组
() 分组,把括号里面当做整体 \1,\2,\3,... 引用第n个成对括号内的内容
6.扩展正则表达式的或
| 如:C|cat表示C或cat
7.相关练习
#显示所有以数字结尾且文件名中不包含空白的文件; ls *[^[:space:]]*[0-9] #找出/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])\> #找出网络配置文件中的iP地址; ifconfig | egrep '\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' #找出网络配置文件中的iP地址(改进); 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])\>'
转载请注明:零五宝典 » Linux学习笔记(16)-grep及正则表达式2