码迷,mamicode.com
首页 > 其他好文 > 详细

grep命令文本过滤

时间:2020-10-24 11:55:24      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:log   for   pass   行号   cut   passwd   grep命令   var   nmap   

1,grep命令
选项说明

--color=auto:对匹配到的文本着色显示;
-v:显示不被模式匹配到的行;
-i:忽略字符大小写;
-n:显示匹配的行号;
-c:统计匹配到的字符串;
-o:仅显示匹配到的字符串;
-q:静默模式,不输出任何信息;
-A #:表示显示匹配到的行并显示该行后#行,#表示为数字;
-B #:表示显示匹配到的行并显示该行前#行,#表示为数字;
-C #:表示显示匹配到的行并显示该行前后各#行,#表示为数字;
-e:实现多个选项的逻辑or或更新;
-w:匹配整个单词;
-E:使用ERE扩展正则,等效于egrep命令;
-F:相当于fgrep,不使用正则表达式;

例1
查找/etc?录下,所有包含conf字串的?件

[root@centos7 /etc]#ls -R |grep conf
asound.conf
autofs.conf
autofs_ldap_auth.conf
brltty.conf
chkconfig.d
chrony.conf

例2
显?/etc/passwd?件中包含root字串所在的?并显??号

[root@centos7 ~]#grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

例3
显?/etc/passwd?件中,不包含bash字串的?,并显??号

[root@centos7 ~]#grep -nv bash /etc/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
6:sync:x:5:0:sync:/sbin:/bin/sync
...

例4
显?/etc/passwd?件中,包含root字串的?的总?数

[root@centos7 ~]#grep -c root /etc/passwd
2

例5
仅显?/etc/passwd?件中的root字串及所在的?号

[root@centos7 ~]#grep -no root /etc/passwd
1:root
1:root
1:root
10:root

例6

显?/etc/passwd?件中,包含root字串的?和其下2?的内容

[root@centos7 ~]#grep -A 2 root /etc/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
--
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

例7
显?/etc/passwd?件中,包含root字串的?和其上2?的内容

[root@centos7 ~]#grep -B 2 root /etc/passwd
root:x:0:0:root:/root:/bin/bash
--
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

例8
显?/etc/passwd?件中,包含root字串的?和其上下各2?的内容

[root@centos7 ~]#grep -C 2 root /etc/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
--
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:FTP User:/var/ftp:/sbin/nologin

例9
扫描192.168.0/24?段,显?在线的ip地址
[root@centos7 ~]#nmap -sP 192.168.0/24 |grep -B1 "Host is up"|grep for|cut -d " " -f 5
192.168.0.1
192.168.0.4
192.168.0.6
192.168.0.5
例10

显?/etc/passwd?件中,包含root字串或包含nologin字串的?

[root@centos7 ~]#grep -e root -e nologin /etc/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
. . .

或写成:

[root@centos7 ~]#grep "root\|nologin" /etc/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
. . .

例11
匹配root整个单词

[root@centos7 ~]#echo -e  "root\nnologin" |grep -w root 
root

[root@centos7 ~]#echo -e  "root\nnologin" |grep "\<root\>"
root
[root@centos7 ~]#echo -e  "root\nnologin" |grep "\broot\b"
root

grep命令文本过滤

标签:log   for   pass   行号   cut   passwd   grep命令   var   nmap   

原文地址:https://blog.51cto.com/14233656/2542983

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!