当前位置: > Linux命令 >

用grep命令匹配行所在文件的文件名

时间:2014-09-06 01:09来源:linux.it.net.cn 作者:it
grep命令查找文件,并匹配行所在文件的文件名的方法,grep命令查找方法实例

在linux系统下,当在大量文件中使用grep命令来查找匹配行,有时需要只显示匹配行所在文件的文件名。
如何才能只显示匹配行所在文件的文件名?这里举个例子,大家研究下。

grep命令查找:
 

[root@devops ~]# grep user1 /etc/*
/etc/group:user1:x:501:
/etc/group:user1add:x:503:
/etc/group-:user1:x:501:
/etc/group-:user1add:x:503:
/etc/gshadow:user1:!::
/etc/gshadow:user1add:!::
/etc/gshadow-:user1:!::
/etc/gshadow-:user1add:!::
/etc/passwd:user1:x:501:501::/home/user1:/bin/bash
/etc/passwd:user1add:x:503:503::/home/user1add:/bin/bash
/etc/passwd-:user1:x:501:501::/home/user1:/bin/bash
/etc/passwd-:user1add:x:503:503::/home/user1add:/bin/bash
/etc/shadow:user1:!!:16176:0:99999:7:::
/etc/shadow:user1add:!!:16176:0:99999:7:::
/etc/shadow-:user1:!!:16176:0:99999:7:::
/etc/shadow-:user1add:!!:16176:0:99999:7:::
 

第一个字段是文件名,在grep命令中可以使用-l选项来控制grep命令的输出,只显示匹配行的文件名。
 

[root@devops ~]# grep -l user1 /etc/*
/etc/group
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/passwd
/etc/passwd-
/etc/shadow
/etc/shadow-

显示不匹配行所在文件的文件名,可以使用-L选项:
 

[root@devops ~]# grep -l user1 /etc/*
/etc/group
/etc/group-
/etc/gshadow
/etc/gshadow-
/etc/passwd
/etc/passwd-
/etc/shadow
/etc/shadow-
0
(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容