9.1 正则介绍_grep上 9.2 grep中 9.3 grep下
发布时间:2020-12-14 06:44:43 所属栏目:百科 来源:网络整理
导读:9.1正则介绍_grep上9.2grep中9.3grep下扩展把一个目录下,过滤所有*.php文档中含有eval的行grep-r--include="*.php"'eval'/data/#9.1正则介绍grep上![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170822/222929890.png?imageslim)```[root@aminglinux-01
9.1正则介绍_grep上 9.2grep中 9.3grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep-r--include="*.php"'eval'/data/ #9.1正则介绍grep上 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170822/222929890.png?imageslim) ``` [root@aminglinux-01~]#ls 1111_heard.txt1.txt1.txt.bak2.txt3.txtaminglinuxbb.txttest 1231_sorft.txt1.txt~2342.txt.bak4.txtanaconda-ks.cfg.1biji.txt [root@aminglinux-01~]#mkdirgrep [root@aminglinux-01~]#cdgrep/ [root@aminglinux-01grep]#cp/etc/passwd. [root@aminglinux-01grep]#ls passwd [root@aminglinux-01grep]#pwd /root/grep [root@aminglinux-01grep]#ls passwd [root@aminglinux-01grep]#grep'nologin'passwd bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin user4:x:1006:1005::/home/aming111:/sbin/nologin saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin [root@aminglinux-01grep]#whichgrep aliasgrep='grep--color=auto' /usr/bin/grep [root@aminglinux-01grep]# ``` -grep-c查看行数 ``` [root@aminglinux-01grep]#grep-c'nologin'passwd 19 [root@aminglinux-01grep]# ``` -grep-n查看行号在最左侧显示 ``` [root@aminglinux-01grep]#grep-n'nologin'passwd 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 9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10:operator:x:11:0:operator:/root:/sbin/nologin 11:games:x:12:100:games:/usr/games:/sbin/nologin 12:ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin 13:nobody:x:99:99:Nobody:/:/sbin/nologin 14:systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin 15:systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin 16:dbus:x:81:81:Systemmessagebus:/:/sbin/nologin 17:polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin 18:tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin 19:postfix:x:89:89::/var/spool/postfix:/sbin/nologin 20:sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin 21:chrony:x:997:995::/var/lib/chrony:/sbin/nologin 26:user4:x:1006:1005::/home/aming111:/sbin/nologin 29:saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin [root@aminglinux-01grep]# ``` -grep-i不区分大小写,先vimpasswd打开把第一行nologin改成大写NOLOGIN ``` [root@aminglinux-01grep]#vimpasswd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin --插入-- [root@aminglinux-01grep]#vimpasswd ``` -grep-ni和grep-n的区别,会把第三行忽略,grep-ni就不会区分大小写 ``` [root@aminglinux-01grep]#grep-n'nologin'passwd 2:bin:x:1:1:bin:/bin:/sbin/nologin 4:adm:x:3:4:adm:/var/adm:/sbin/nologin [root@aminglinux-01grep]#grep-ni'nologin'passwd 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 ``` -grep-v取反,所有不带nologin的行grep-vni看下 ``` [root@aminglinux-01grep]#grep-vni'nologin'passwd 1:root:x:0:0:root:/root:/bin/bash 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 22:aming:x:1000:1005::/home/aming:/bin/bash 23:user1:x:1001:1001::/home/user1:/bin/bash 24:user2:x:1002:1002::/home/user2:/bin/bash 25:user3:x:1004:1005::/home/user3:/bin/bash 27:user5:x:1007:1007::/home/user5:/bin/bash 28:user6:x:1008:1010::/home/user6:/bin/bash [root@aminglinux-01grep]# ``` --r遍历所有的字目录 ``` [root@aminglinux-01grep]#grep-r'root'/etc/ /etc/pki/ca-trust/ca-legacy.conf:#TheupstreamMozilla.orgprojecttestsallchangestotherootCA /etc/pki/ca-trust/ca-legacy.conf:#totemporarilykeepcertain(legacy)rootCAcertificatestrusted,/etc/pki/ca-trust/ca-legacy.conf:#ItmaykeeprootCAcertificateastrusted,whichtheupstream /etc/pki/ca-trust/extracted/README:rootCAcertificates. /etc/pki/ca-trust/extracted/java/README:rootCAcertificates. ... ``` -如果不加r,先把etc目录下的root过滤出来放到tmp目录下的grep.log下,再去grep.log下找带passwd的 ``` [root@aminglinux-01grep]#grep'root'/etc/ grep:/etc/:是一个目录 [root@aminglinux-01grep]#grep'root'/etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@aminglinux-01grep]# [root@aminglinux-01grep]#grep-r'root'/etc/>/tmp/grep.log [root@aminglinux-01grep]#greppasswd/tmp/grep.log /etc/passwd:root:x:0:0:root:/root:/bin/bash /etc/passwd:operator:x:11:0:operator:/root:/sbin/nologin /etc/passwd-:root:x:0:0:root:/root:/bin/bash /etc/passwd-:operator:x:11:0:operator:/root:/sbin/nologin /etc/postfix/main.cf:#thesystempasswdfileinthechrootjailisjustnotpractical. [root@aminglinux-01grep]# ``` --A后面跟数字,表示过滤出符合要求的行以及下面n行 -下面过滤出passwd文件里的带有root的行,以及下面的2行 ``` [root@aminglinux-01grep]#grep-nA2'root'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 -- 10:operator:x:11:0:operator:/root:/sbin/nologin 11-games:x:12:100:games:/usr/games:/sbin/nologin 12-ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin [root@aminglinux-01grep]# ``` --B后面跟数字,表示过滤出符合要求的行以及上面n行 -下面过滤出paswd文件里的带有root的行,以及上面的3行 ``` [root@aminglinux-01grep]#grep-nB3'root'passwd 1:root:x:0:0:root:/root:/bin/bash -- 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:operator:x:11:0:operator:/root:/sbin/nologin [root@aminglinux-01grep]# ``` --C后面跟数字,表示过滤出符合要求的行以及上下n行 -下面过滤出passwd文件里的带有root的行,以及上下2行 ``` [root@aminglinux-01grep]#grep-nC2'root'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 -- 8-halt:x:7:0:halt:/sbin:/sbin/halt 9-mail:x:8:12:mail:/var/spool/mail:/sbin/nologin 10:operator:x:11:0:operator:/root:/sbin/nologin 11-games:x:12:100:games:/usr/games:/sbin/nologin 12-ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin [root@aminglinux-01grep]# ``` #9.2grep中 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20170822/230138784.png?imageslim) -grep'[0-9]'passwd过滤出带有数字0-9的 ``` [root@aminglinux-01grep]#grep'[0-9]'passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin aming:x:1000:1005::/home/aming:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:1002:1002::/home/user2:/bin/bash user3:x:1004:1005::/home/user3:/bin/bash user4:x:1006:1005::/home/aming111:/sbin/nologin user5:x:1007:1007::/home/user5:/bin/bash user6:x:1008:1010::/home/user6:/bin/bash saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin [root@aminglinux-01grep]# ``` -grep-vn'[0-9]'/etc/inittba只要带数字的行都不要 ``` [root@aminglinux-01grep]#grep-vn'[0-9]'/etc/inittab 1:#inittabisnolongerusedwhenusingsystemd. 2:# 3:#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. 4:# 5:#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target 6:# 7:#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets: 8:# 11:# 12:#Toviewcurrentdefaulttarget,run: 13:#systemctlget-default 14:# 15:#Tosetadefaulttarget,run: 16:#systemctlset-defaultTARGET.target 17:# [root@aminglinux-01grep]# ``` -[]vim看下是9行有个3,10行有个5 ``` 1#inittabisnolongerusedwhenusingsystemd. 2# 3#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. 4# 5#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target 6# 7#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets: 8# 9#multi-user.target:analogoustorunlevel3 10#graphical.target:analogoustorunlevel5 11# 12#Toviewcurrentdefaulttarget,run: 13#systemctlget-default 14# 15#Tosetadefaulttarget,run: 16#systemctlset-defaultTARGET.target 17# ~ ~ ~ :setnu ``` -grep-n'^#'inittab过滤以#开头的行 ``` [root@aminglinux-01grep]#grep-n'^#'/etc/inittab 1:#inittabisnolongerusedwhenusingsystemd. 2:# 3:#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. 4:# 5:#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target 6:# 7:#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets: 8:# 9:#multi-user.target:analogoustorunlevel3 10:#graphical.target:analogoustorunlevel5 11:# 12:#Toviewcurrentdefaulttarget,run: 16:#systemctlset-defaultTARGET.target 17:# ``` -先拷贝一下这个/etc/inittab文件到当前目录下来,不能直接修改文件/etc/inittab系统配置文件,改错了,会会容易导致系统启动不了,出问题 ``` [root@aminglinux-01grep]#cp/etc/inittab./ [root@aminglinux-01grep]#viminittab 1#inittabisnolongerusedwhenusingsystemd. 2# 3#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. 4# 5#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target 6# 7#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets: 8# 9#multi-user.target:analogoustorunlevel3 10#graphical.target:analogoustorunlevel5 11ldldldldl 12# 13#Toviewcurrentdefaulttarget,run: 14#systemctlget-default 15# 16#Tosetadefaulttarget,run: 17#systemctlset-defaultTARGET.target 18# ~ :setnu ``` -在11行随便加了点东西,再来grep-n'^#'inittab,找出以#开头的行找出来,发现第11行没有了 ``` [root@aminglinux-01grep]#grep-n'^#'inittab 1:#inittabisnolongerusedwhenusingsystemd. 2:# 3:#ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. 4:# 5:#Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target 6:# 7:#systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets: 8:# 9:#multi-user.target:analogoustorunlevel3 10:#graphical.target:analogoustorunlevel5 12:# 13:#Toviewcurrentdefaulttarget,run: 14:#systemctlget-default 15:# 16:#Tosetadefaulttarget,run: 17:#systemctlset-defaultTARGET.target 18:# [root@aminglinux-01grep]# ``` -grep-nv'^#'inittab把不以#开头的行找出来 ``` [root@aminglinux-01grep]#grep-nv'^#'inittab 11:ldldldldl [root@aminglinux-01grep]# ``` -再进入viminittab里面修改下文件 ``` [root@aminglinux-01grep]#viminittab #inittabisnolongerusedwhenusingsystemd. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. # #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target # #systemduses'targets'insteadofrunlevels.Bydefault,therearetwomaintargets: &*&*&*&* #multi-user.target:analogoustorunlevel3 aaaaaaaaaaaaa #graphical.target:analogoustorunlevel5 ldldldldl # #Toviewcurrentdefaulttarget,run: #systemctlget-default 22222222221 #Tosetadefaulttarget,run: #systemctlset-defaultTARGET.target # :wq [root@aminglinux-01grep]#viminittab [root@aminglinux-01grep]#pwd /root/grep [root@aminglinux-01grep]# ``` -再过滤下 ``` [root@aminglinux-01grep]#grep-v'^#'inittab &*&*&*&* aaaaaaaaaaaaa ldldldldl 22222222221 [root@aminglinux-01grep]# ``` -grep'[^0-9]'inittab表示过滤出非数字的带有一个字符的地方,在[^0-9]表示选非0-9 ``` [root@aminglinux-01grep]#grep'[^0-9]'inittab #inittabisnolongerusedwhenusingsystemd. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. # #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target # #systemduses'targets'insteadofrunlevels.Bydefault,run: #systemctlget-default #Tosetadefaulttarget,run: #systemctlset-defaultTARGET.target # [root@aminglinux-01grep]# ``` -再编辑下inittab文件 ``` [root@aminglinux-01grep]#viminittab #inittabisnolongerusedwhenusingsystemd. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. 222221111aaa23333333 # #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target # #systemduses'targets'insteadofrunlevels.Bydefault,run: #systemctlset-defaultTARGET.target ``` -以非数字的一个字符grep'[^0-9]'inittab ``` [root@aminglinux-01grep]#grep'[^0-9]'inittab #inittabisnolongerusedwhenusingsystemd. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. 222221111aaa23333333 # #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target # #systemduses'targets'insteadofrunlevels.Bydefault,run: #systemctlset-defaultTARGET.target # [root@aminglinux-01grep]# ``` -符合非数字的行开头的行grep'^[^0-9]'inittab ``` [root@aminglinux-01grep]#grep'^[^0-9]'inittab #inittabisnolongerusedwhenusingsystemd. #ADDINGCONFIGURATIONHEREWILLHAVENOEFFECTONYOURSYSTEM. # #Ctrl-Alt-Deleteishandledby/usr/lib/systemd/system/ctrl-alt-del.target # #systemduses'targets'insteadofrunlevels.Bydefault,run: #systemctlset-defaultTARGET.target # ``` -符合数字开头的grep-vn'^[^0-9]'inittab ``` [root@aminglinux-01grep]#grep-vn'^[^0-9]'inittab 3:222221111aaa23333333 16:22222222221 [root@aminglinux-01grep]# ``` #9.3grep下 -grep'r.o'passwd.代表任意一个字符 ``` [root@aminglinux-01grep]#grep'r.o'passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@aminglinux-01grep]# ``` 1.随便在passwd文件里编辑一些 ``` [root@aminglinux-01grep]#vimpasswd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin dskdklldkdddkdkrao:222 daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN 222222:r>o:ldkdkdkd ``` 2.再看下 ``` [root@aminglinux-01grep]#grep'r.o'passwd root:x:0:0:root:/root:/bin/bash dskdklldkdddkdkrao:222 222222:r>o:ldkdkdkd operator:x:11:0:operator:/root:/sbin/nologin [root@aminglinux-01grep]# ``` 4..也可以匹配到 ``` [root@aminglinux-01grep]#vimpasswd 222222:r.o:ldkdkdkd [root@aminglinux-01grep]#grep'r.o'passwd root:x:0:0:root:/root:/bin/bash dskdklldkdddkdkrao:222 222222:r.o:ldkdkdkd operator:x:11:0:operator:/root:/sbin/nologin [root@aminglinux-01grep]# ``` -grep'o*o'passwd*表示*左边的字符重复0-n次n表示随意的数字 ``` [root@aminglinux-01grep]#grep'o*o'passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin dskdklldkdddkdkrao:222 daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN 222222:r.o:ldkdkdkd adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin aming:x:1000:1005::/home/aming:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:1002:1002::/home/user2:/bin/bash user3:x:1004:1005::/home/user3:/bin/bash user4:x:1006:1005::/home/aming111:/sbin/nologin user5:x:1007:1007::/home/user5:/bin/bash user6:x:1008:1010::/home/user6:/bin/bash saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin [root@aminglinux-01grep]# ``` -改下文件passwd增加3个o,4个o ``` [root@aminglinux-01grep]#vimpasswd user5:x:1007:1007::/hoooome/user5:/bin/bash user6:x:1008:1010::/hooome/user6:/bin/bash [root@aminglinux-01grep]#grep'o*o'passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin dskdklldkdddkdkrao:222 daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN 222222:r.o:ldkdkdkd adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin aming:x:1000:1005::/home/aming:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:1002:1002::/home/user2:/bin/bash user3:x:1004:1005::/home/user3:/bin/bash user4:x:1006:1005::/home/aming111:/sbin/nologin user5:x:1007:1007::/hoooome/user5:/bin/bash user6:x:1008:1010::/hooome/user6:/bin/bash saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin [root@aminglinux-01grep]# ``` -.*表示任意个任意字符所有的都匹配 ``` [root@aminglinux-01grep]#grep'.*'passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin dskdklldkdddkdkrao:222 daemon:x:2:2:daemon:/sbin:/sbin/NOLOGIN 222222:r.o:ldkdkdkd adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin aming:x:1000:1005::/home/aming:/bin/bash user1:x:1001:1001::/home/user1:/bin/bash user2:x:1002:1002::/home/user2:/bin/bash user3:x:1004:1005::/home/user3:/bin/bash user4:x:1006:1005::/home/aming111:/sbin/nologin user5:x:1007:1007::/hoooome/user5:/bin/bash user6:x:1008:1010::/hooome/user6:/bin/bash saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin [root@aminglinux-01grep]#grep'aming.*bash'passwd aming:x:1000:1005::/home/aming:/bin/bash [root@aminglinux-01grep]# ``` -grep'o{2}'passwd表示匹配o出现俩次的字符o{2}表示前面字符o的重复范围位o重复2次 ``` [root@aminglinux-01grep]#grep'o{2}'passwd [root@aminglinux-01grep]#grep'o{2}'passwd root:x:0:0:root:/root:/bin/bash lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin user5:x:1007:1007::/hoooome/user5:/bin/bash user6:x:1008:1010::/hooome/user6:/bin/bash [root@aminglinux-01grep]# ``` -如果觉得过o{2}太麻烦可以使用grep-E或者egrep ``` [root@aminglinux-01grep]#grep-E'o{2}'passwd root:x:0:0:root:/root:/bin/bash lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin user5:x:1007:1007::/hoooome/user5:/bin/bash user6:x:1008:1010::/hooome/user6:/bin/bash [root@aminglinux-01grep]#egrep'o{2}'passwd root:x:0:0:root:/root:/bin/bash lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin user5:x:1007:1007::/hoooome/user5:/bin/bash user6:x:1008:1010::/hooome/user6:/bin/bash [root@aminglinux-01grep]# ``` -grep-E'(oo){2}'passwd表示一个组合出现2次oo的 ``` [root@aminglinux-01grep]#grep-E'(oo){2}'passwd user5:x:1007:1007::/hoooome/user5:/bin/bash [root@aminglinux-01grep]# ``` -egrep不需要加脱义或者grep-E -egrep'o+o'passwd+表示1次或者一次以上出现前面的字符,即+号前面出现一次o或者多次o ``` [root@aminglinux-01grep]#egrep'o+o'passwd root:x:0:0:root:/root:/bin/bash lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin user5:x:1007:1007::/hoooome/user5:/bin/bash user6:x:1008:1010::/hooome/user6:/bin/bash [root@aminglinux-01grep]# ``` -egrep'o+b'passwd表示+前面可以出现o一次以上egrep'o+t'passwd ``` [root@aminglinux-01grep]#egrep'o+b'passwd nobody:x:99:99:Nobody:/:/sbin/nologin [root@aminglinux-01grep]# [root@aminglinux-01grep]#egrep'o+t'passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@aminglinux-01grep]# ``` -egrep'o?t'passwd?表示0次或者1次出现前面的字符这里是0次或者1次出现o ``` [root@aminglinux-01grep]#egrep'o?t'passwd root:x:0:0:root:/root:/bin/bash shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt operator:x:11:0:operator:/root:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin [root@aminglinux-01grep]# ``` -egrep'o?1o'passwd这个表示?前面出现0次或者1次o -先编辑下文件vimpasswd ``` [root@aminglinux-01grep]#vimpasswd mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:1o1:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/no1ologin [root@aminglinux-01grep]#vimpasswd [root@aminglinux-01grep]#egrep'o?1o'passwd operator:x:1o1:0:operator:/root:/sbin/nologin ftp:x:14:50:FTPUser:/var/ftp:/sbin/no1ologin [root@aminglinux-01grep]#egrep'o?1o'passwd ``` -grep-E'root|nologin'passwd|在这里表示或者的意思 ``` [root@aminglinux-01grep]#grep-E'root|nologin'passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:1o1:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin systemd-network:x:192:192:systemdNetworkManagement:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin polkitd:x:998:996:Userforpolkitd:/:/sbin/nologin tss:x:59:59:Accountusedbythetrouserspackagetosandboxthetcsddaemon:/dev/null:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin user4:x:1006:1005::/home/aming111:/sbin/nologin saslauth:x:996:76:Saslauthduser:/run/saslauthd:/sbin/nologin [root@aminglinux-01grep]# ``` -grep-Ei'root|bus|997'passwd-E因为后面有符号|-i是不区分大小写 ``` [root@aminglinux-01grep]#grep-Ei'root|bus|997'passwd root:x:0:0:root:/root:/bin/bash operator:x:1o1:0:operator:/root:/sbin/nologin systemd-bus-proxy:x:999:997:systemdBusProxy:/:/sbin/nologin dbus:x:81:81:Systemmessagebus:/:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin [root@aminglinux-01grep]# ``` (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |