感谢支持
我们一直在努力

grep 命令系列:从文件中搜索并显示文件名

我怎样从几个文件中搜索(grep),并只显示匹配到的文件的文件名?

当你从不止一个的文件中搜索时,默认它将显示文件名:

  1. grep"word"文件名
  2. grep root /etc/*

示例输出:

  1. /etc/bash.bashrc:See"man sudo_root"for details.
  2. /etc/crontab:17**** root cd/&& run-parts --report /etc/cron.hourly
  3. /etc/crontab:256*** root test-x /usr/sbin/anacron ||(cd/&& run-parts --report /etc/cron.daily )
  4. /etc/crontab:476**7 root test-x /usr/sbin/anacron ||(cd/&& run-parts --report /etc/cron.weekly )
  5. /etc/crontab:5261** root test-x /usr/sbin/anacron ||(cd/&& run-parts --report /etc/cron.monthly )
  6. /etc/group:root:x:0:
  7. grep:/etc/gshadow:Permission denied
  8. /etc/logrotate.conf: create 0664 root utmp
  9. /etc/logrotate.conf: create 0660 root utmp

每行开始的第一个部分是文件名(如:/etc/crontab、/etc/group)。使用 -l 选项可以只显示文件名:

  1. grep-l "string" filename
  2. grep-l root /etc/*

示例输出:

  1. /etc/aliases
  2. /etc/arpwatch.conf
  3. grep:/etc/at.deny:Permission denied
  4. /etc/bash.bashrc
  5. /etc/bash_completion
  6. /etc/ca-certificates.conf
  7. /etc/crontab
  8. /etc/group

你也可以逆转输出;使用 -L 选项来输出那些不匹配的文件的文件名

  1. grep-L "word" filename
  2. grep-L root /etc/*

示例输出:

  1. /etc/apm
  2. /etc/apparmor
  3. /etc/apparmor.d
  4. /etc/apport
  5. /etc/apt
  6. /etc/avahi
  7. /etc/bash_completion.d
  8. /etc/bindresvport.blacklist
  9. /etc/blkid.conf
  10. /etc/bluetooth
  11. /etc/bogofilter.cf
  12. /etc/bonobo-activation
  13. /etc/brlapi.key

grep使用简明及正则表达式 http://www.linuxidc.com/Linux/2013-08/88534.htm

正则表达式的用法 http://www.linuxidc.com/Linux/2013-03/81897.htm

正则表达式之零宽断言 http://www.linuxidc.com/Linux/2013-03/81897.htm

Linux命令-文件文本操作grep  http://www.linuxidc.com/Linux/2015-12/126259.htm

grep正则表达式 http://www.linuxidc.com/Linux/2015-09/123035.htm

Linux中正则表达式与文件格式化处理命令(awk/grep/sed) http://www.linuxidc.com/Linux/2013-03/81018.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-01/127998.htm

赞(0) 打赏
转载请注明出处:服务器评测 » grep 命令系列:从文件中搜索并显示文件名
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏