CentOS 文本搜索grep

grep 用于在文本中执行关键词搜索,

用法: grep [选项]... PATTERN [FILE]...

[root@bigdata-senior01 ~]# grep "ftp" /etc/passwd
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
xu.dm.ftp:x:1001:0::/home/data:/sbin/nologin

关键参数:

-b  将可执行文件(binary)当作文本文件(text)来搜索 
-c  仅显示找到的行数 
-i  忽略大小写 
-n  显示行号 
-v  反向选择—仅列出没有“关键词”的行 

1、搜索nologin用户,显示行号

[root@bigdata-senior01 ~]# cat /etc/passwd | grep nologin -n
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:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
14:systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
15:dbus:x:81:81:System message bus:/:/sbin/nologin
16:polkitd:x:999:997:User for polkitd:/:/sbin/nologin
17:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
18:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
20:xu.dm.ftp:x:1001:0::/home/data:/sbin/nologin

2、搜索可以登录的用户,即非nologin,用参数-v反选上面的搜索

[root@bigdata-senior01 ~]# cat /etc/passwd | grep nologin -v -n
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
19:xu.dm:x:1000:1000::/home/xu.dm:/bin/bash
21:tiger:x:1002:1002::/home/tiger:/bin/bash
22:hadoop:x:1003:1003::/home/hadoop:/bin/bash
23:es:x:1004:1004::/home/es:/bin/bash

3、或操作,参数-E,(E参数实际是正则表达式)

找出root或xu.dm
[root@bigdata-senior01 ~]# cat /etc/passwd | grep -E "root|xu.dm" root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin xu.dm:x:1000:1000::/home/xu.dm:/bin/bash xu.dm.ftp:x:1001:0::/home/data:/sbin/nologin

4、与操作,实际是连接两次grep

找到包含xu.dm和ftp的行
[root@bigdata-senior01 ~]# cat /etc/passwd | grep xu.dm | grep ftp xu.dm.ftp:x:1001:0::/home/data:/sbin/nologin

 

posted @ 2019-01-06 20:23  我是属车的  阅读(1523)  评论(0编辑  收藏  举报