Egrep 扩展正则表达式及实例

前端之家收集整理的这篇文章主要介绍了Egrep 扩展正则表达式及实例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_404_0@grep -E[OPTIONS] PATTERN [FILE...]

@H_404_0@-E:扩展正则表达式

@H_404_0@字符匹配

@H_404_0@.:任意单个字符

@H_404_0@[]:指定范围内的任意单个字符

@H_404_0@[^]:指定范围外的任意单个字符

@H_404_0@次数匹配

@H_404_0@*:匹配其前字符任意次

@H_404_0@?:匹配其前字符0次或1次,不需要加反钭线\

@H_404_0@+:匹配其前字符至少一次,相当于\{1,\}(?+组合相当于*)

@H_404_0@{m,n}:匹配其前字符至少m次至多n次,不需要加反钭线\

@H_404_0@位置锚定

@H_404_0@^ CHARE:行首锚定

@H_404_0@CHARE $:行尾锚定

@H_404_0@\< CHARE:词首锚定

@H_404_0@CHARE \>:词尾锚定

@H_404_0@分组:

@H_404_0@():不需要加反钭线\,后向引用\1,\2,\3......

@H_404_0@或者

@H_404_0@|:表示or,其匹配的是坚线前面和后面的整体部分

@H_404_0@如:文件内容如下

@H_502_45@[root@station01~]#cattest5.txt b bag banana Back @H_404_0@执行结果:

@H_502_45@[root@station01~]#grep--color-E'b|bag'test5.txt b bag banana @H_404_0@即匹配的只是b和bag

文件内容如下:

@H_502_45@[root@station01~]#cattest5.txt b bag banana Back Bag

执行结果如下:

@H_502_45@[root@station01~]#grep--color-E'(B|b)ag'test5.txt bag Bag


@H_404_0@即匹配的是bag或Bag,这就是分组的概念

@H_404_0@

@H_404_0@如找出/boot/grub/grub.conf文件中至少一个空白字符开头的行

@H_404_0@执行结果如下:

@H_502_45@[root@station01~]#grep-E'^[[:space:]]+'/boot/grub/grub.conf root(hd0,0) kernel/vmlinuz-2.6.32-71.el6.i686roroot=/ @H_404_0@如:

@H_404_0@找出/boot/grub/grub.conf文件中1-255之间的数字

@H_404_0@执行结果如下:

@H_502_45@[root@station01~]#grep--color-E'\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>'/boot/grub/grub.conf timeout=5 titleRedHatEnterpriseLinux(2.6.32-71.el6.i686) kernel/vmlinuz-2.6.32-71.el6.i686roroot=/dev/mapper/vg_station01-lv_rootrd_LVM_LV=vg_station01/lv_rootrd_LVM_LV=vg_station01/lv_swaprd_NO_LUKSrd_NO_MDrd_NO_DMLANG=en_US.UTF-8SYSFONT=latarcyrheb-sun16KEYBOARDTYPE=pcKEYTABLE=uscrashkernel=autorhgbquiet initrd/initramfs-2.6.32-71.el6.i686.img @H_404_0@找出ifconfig文件中1-255的数字

@H_404_0@执行结果如下:

@H_502_45@[root@station01~]#ifconfig|grep--color-E'\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\>' eth0Linkencap:EthernetHWaddr00:0C:29:52:C5:1B inetaddr:172.24.5.56Bcast:172.24.5.255Mask:255.255.255.0 inet6addr:fe80::20c:29ff:fe52:c51b/64Scope:Link UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1 RXbytes:1793759242(1.6GiB)TXbytes:4462480(4.2MiB) Interrupt:19Baseaddress:0x2000 inetaddr:127.0.0.1Mask:255.0.0.0 inet6addr:::1/128Scope:Host UPLOOPBACKRUNNINGMTU:16436Metric:1 RXbytes:76440(74.6KiB)TXbytes:76440(74.6KiB) @H_404_0@找出ifconfig文件中点分十进制的类似ip地址的数字

@H_404_0@执行结果如下:

@H_404_0@1)

@H_502_45@[root@station01~]#ifconfig|egrep-o'\<([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])\>' 172.24.5.56 172.24.5.255 255.255.255.0 127.0.0.1 255.0.0.0 @H_404_0@2)

[root@station01~]#ifconfig|egrep--color'\<([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])\>'
inetaddr:172.24.5.56Bcast:172.24.5.255Mask:255.255.255.0
inetaddr:127.0.0.1Mask:255.0.0.0
@H_404_0@3)次数匹配

@H_502_45@[root@station01~]#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])\>' inetaddr:172.24.5.56Bcast:172.24.5.255Mask:255.255.255.0 inetaddr:127.0.0.1Mask:255.0.0.0 @H_404_0@4)

@H_404_0@找出ifconfig文件中A类(1-127)、B类(128-191)、C类(192-223)IP地址

@H_502_45@[root@station01~]#ifconfig|egrep--color'\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[01][0-9]|22[0-3])\>(\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>){2}\.\<([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])\>' inetaddr:172.24.5.56Bcast:172.24.5.255Mask:255.255.255.0 inetaddr:127.0.0.1Mask:255.0.0.0 @H_404_0@2015年2朋18日

@H_404_0@GB-2312

猜你在找的正则表达式相关文章