Linux下grep命令详解

grep    #文件内容过滤显示

#在指定的普通文件中查找并显示含有指定字符串的行,也可与管道符一起使用
格式:
   grep-参数    查找条件    文件名

参数:
Linux下grep命令详解_第1张图片

示例:

[root@node1 ~]# grep -n "root" /etc/passwd        # -n:显示行号
1:root:x:0:0:root:/root:/bin/bash
10:operator:x:11:0:operator:/root:/sbin/nologin

[root@node1 ~]# grep -c "sbin" /etc/passwd    #统计过滤到的行数
47

[root@node1 ~]# grep -nv "sbin/nologin" /etc/passwd   #-n:显示行号 -v:取反
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
47:mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false

[root@node1 ~]# grep -ni "d" /etc/passwd   #过滤含有d的行且忽略大小写

grep特殊符号匹配:

Linux下grep命令详解_第2张图片

示例一:

 [root@node1 ~]# grep  '^a' /etc/passwd         #定位行首以a开头的
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

[root@node1 ~]# grep  '^#' /etc/passwd     #检索注释开头的行

[root@node1 ~]# grep "\.$" /etc/fstab        #必须有转义符,过滤以.结尾的行
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
# units generated from this file.

[root@node1 ~]# grep "^$" /etc/passwd     #查看文件的空白行 

示例二:

[root@node1 ~]# grep [5-9] /etc/passwd    #过滤含有5-9数字的模糊查询
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
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

[root@node1 ~]# grep -w [5-9] /etc/passwd   #过滤含有5-9数字的精准查询
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

示例三:

[root@node1 ~]# grep [root] /etc/passwd        #过滤含有 r 或 o 或 t 的行
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
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

[root@node1 ~]# grep  ^[root] /etc/passwd        #过滤以 r 或 o 或 t 的开头的行
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin

[root@node1 ~]# grep  [^root] /etc/passwd           #反向显示,显示不包含r或o或t
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:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin

示例四:

[root@node1 ~]# grep [0-9]$ /etc/passwd        #过滤以数字结尾的行
[root@node1 ~]# grep ^[0-9] /etc/passwd        #过滤以数字开头的行 

你可能感兴趣的:(linux,运维,服务器)