UDN-企业互联网技术人气社区

板块导航

浏览  : 1259
回复  : 0

[运维] Linux中用 grep 命令从文件中搜索并显示文件名

[复制链接]
哥屋恩的头像 楼主
发表于 2016-10-10 13:26:06 | 显示全部楼层 |阅读模式
  我怎样从几个文件中搜索(grep),并只显示匹配到的文件的文件名?

1.jpg


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

  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:25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

  4.   /etc/crontab:47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )

  5.   /etc/crontab:52 6 1 * * 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
复制代码


原文作者:佚名  来源:开发者头条

相关帖子

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部