egrep
egrep 在文件内查找指定的字符串 egrep执行效果如grep -E使用的语法及参数可参照grep指令。 与grep不同点在于解读字符串的方法: egrep是用extended regular expression语法来解读 grep则用basic regu;ar expression语法 extended regular expression比basic regular expression有更完整的表达规范 grep默认仅支持基础正则表达式,如果要使用扩展型正则表达式,可以使用 grep -E,不过更建议使用egrep。其实egrep与grep -E是类似命令别名的关系。 RE字符 | | | 重复一个或一个以上的前一个RE字符 egrep -n ‘go+d’ regular_express.txt | | 零个或一个的前一个RE字符 egrep -n ‘go?d’ regular_express.txt | | 用或(or)的方法找出数个字符串 egrep -n ‘gd|good’ regular_express.txt | | 找出“组”字符串 egrep -n g(la|oo)d’ regular_express.txt | | 多个重复组的判别 echo ‘AxyzxyzxyzxyzC’ | egrep ‘A(xyz) +C’ 找出开头是A结尾是C,中间有一个以上的xyz字符串的意思 |
命令实践: [iyunv@yubing ~]# nl /etc/passwd 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/sbin/nologin 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin 4 adm:x:3:4:adm:/var/adm:/sbin/nologin 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8 halt:x:7:0:halt:/sbin:/sbin/halt 9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10 news:x:9:13:news:/etc/news: 11 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin 12 operator:x:11:0:operator:/root:/sbin/nologin 13 games:x:12:100:games:/usr/games:/sbin/nologin 14 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin 15 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 16 nobody:x:99:99:Nobody:/:/sbin/nologin 17 nscd:x:28:28:NSCD Daemon:/:/sbin/nologin 18 vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin 19 rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin 20 mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin 21 smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin 22 oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin 23 pcap:x:77:77::/var/arpwatch:/sbin/nologin 24 ntp:x:38:38::/etc/ntp:/sbin/nologin 25 dbus:x:81:81:System message bus:/:/sbin/nologin 26 avahi:x:70:70:Avahi daemon:/:/sbin/nologin 27 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 28 rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin 29 nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin 30 haldaemon:x:68:68:HAL daemon:/:/sbin/nologin 31 avahi-autoipd:x:100:104:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin 32 xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin 33 yubing:x:500:500::/home/yubing:/bin/bash [iyunv@yubing ~]# [iyunv@yubing ~]# egrep -n "g*" /etc/passwd 会将含有g字符的所有行显示出来 1:root:x:0:0:root:/root:/bin/bash 效果等同于grep 2:bin:x:1:1:bin:/bin:/sbin/nologin 3:daemon:x:2:2:daemon:/sbin:/sbin/nologin 4:adm:x:3:4:adm:/var/adm:/sbin/nologin 5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6:sync:x:5:0:sync:/sbin:/bin/sync 7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 8:halt:x:7:0:halt:/sbin:/sbin/halt 9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10:news:x:9:13:news:/etc/news: 11:uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin 12:operator:x:11:0:operator:/root:/sbin/nologin 13:games:x:12:100:games:/usr/games:/sbin/nologin 14:gopher:x:13:30:gopher:/var/gopher:/sbin/nologin 15:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 16:nobody:x:99:99:Nobody:/:/sbin/nologin 17:nscd:x:28:28:NSCD Daemon:/:/sbin/nologin 18:vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin 19:rpc:x:32:32:Portmapper RPC user:/:/sbin/nologin 20:mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin 21:smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin 22:oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin 23:pcap:x:77:77::/var/arpwatch:/sbin/nologin 24:ntp:x:38:38::/etc/ntp:/sbin/nologin 25:dbus:x:81:81:System message bus:/:/sbin/nologin 26:avahi:x:70:70:Avahi daemon:/:/sbin/nologin 27:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 28:rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin 29:nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin 30:haldaemon:x:68:68:HAL daemon:/:/sbin/nologin 31:avahi-autoipd:x:100:104:avahi-autoipd:/var/lib/avahi-autoipd:/sbin/nologin 32:xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin 33:yubing:x:500:500::/home/yubing:/bin/bash [iyunv@yubing ~]# [iyunv@yubing ~]# egrep 'po+l' /etc/passwd 重复1个或1个以上的o lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin [iyunv@yubing ~]# egrep 'po?l' /etc/passwd 0个或1个o,显示没找到 [iyunv@yubing ~]# egrep 'poo?l' /etc/passwd 再加一个o就找到了 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin [iyunv@yubing ~]# [iyunv@yubing ~]# egrep -n "99|51" /etc/passwd 99或51 16:nobody:x:99:99:Nobody:/:/sbin/nologin 21:smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin [iyunv@yubing ~]# [iyunv@yubing ~]# egrep "p(o)+l" /etc/passwd 开始是p中间有1个以上o,结尾是l lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin [iyunv@yubing ~]#
|