<code id='gwn3i'><strong id='gwn3i'></strong></code>
      <fieldset id='gwn3i'></fieldset>

    1. <i id='gwn3i'></i>

      <acronym id='gwn3i'><em id='gwn3i'></em><td id='gwn3i'><div id='gwn3i'></div></td></acronym><address id='gwn3i'><big id='gwn3i'><big id='gwn3i'></big><legend id='gwn3i'></legend></big></address>
    2. <span id='gwn3i'></span>

        <ins id='gwn3i'></ins>
      1. <tr id='gwn3i'><strong id='gwn3i'></strong><small id='gwn3i'></small><button id='gwn3i'></button><li id='gwn3i'><noscript id='gwn3i'><big id='gwn3i'></big><dt id='gwn3i'></dt></noscript></li></tr><ol id='gwn3i'><table id='gwn3i'><blockquote id='gwn3i'><tbody id='gwn3i'></tbody></blockquote></table></ol><u id='gwn3i'></u><kbd id='gwn3i'><kbd id='gwn3i'></kbd></kbd>
      2. <i id='gwn3i'><div id='gwn3i'><ins id='gwn3i'></ins></div></i>

          <dl id='gwn3i'></dl>

          Linux中使用grep命令搜索文件名及文件内容的方法

          • 时间:
          • 浏览:13
          • 来源:124软件资讯网

              从文件中搜索并显示文件名

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

              代码如下:

              grep "word" 文件名

              grep root /etc/*

              示例输出:

              代码如下:

              /etc/bash.bashrc: See "man sudo_root" for details.

              /etc/crontab:17 * * * * root cd / && run-parts --report /etc/cron.hourly

              /etc/crontab:25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

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

              /etc/crontab:52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

              /etc/group:root:x:0:

              grep: /etc/gshadow: Permission denied

              /etc/logrotate.conf: create 0664 root utmp

              /etc/logrotate.conf: create 0660 root utmp

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

              代码如下:

              grep -l "string" filename

              grep -l root /etc/*

              示例输出:

              代码如下:

              /etc/aliases

              /etc/arpwatch.conf

              grep: /etc/at.deny: Permission denied

              /etc/bash.bashrc

              /etc/bash_completion

              /etc/ca-certificates.conf

              /etc/crontab

              /etc/group

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

              代码如下:

              grep -L "word" filename

              grep -L root /etc/*

              示例输出:

              代码如下:

              /etc/apm

              /etc/apparmor

              /etc/apparmor.d

              /etc/apport

              /etc/apt

              /etc/avahi

              /etc/bash_completion.d

              /etc/bindresvport.blacklist

              /etc/blkid.conf

              /etc/bluetooth

              /etc/bogofilter.cf

              /etc/bonobo-activation

              /etc/brlapi.key

              凭据文件内容查找文件

              输入以下下令:

              代码如下:

              grep 'string' *.txt

              grep 'main(' *.c

              grep '#include' *.c

              grep 'getChar*' *.c

              grep -i 'ultra' *.conf

              grep -iR 'ultra' *.conf

              其中

              -i : 忽略模式(匹配字符串 valid、 VALID、 ValID )和输入文件(匹配 file.c FILE.c FILE.C)的巨细写  。

              -R : 递归读取每个目录下的所有文件  。

              高亮匹配到的模式

              在搜索大量文件的时间你可以轻松地高亮模式:

              代码如下:

              $ grep --color=auto -iR 'getChar();' *.c

              为查找到的模式显示文件名和行号

              你也许需要显示文件名和行号:

              代码如下:

              $ grep --color=auto -iRnH 'getChar();' *.c

              其中  ,

              -n : 在输出的每行前面添加以 1 最先的行号  。

              -H : 为每个匹配打印文件名 。要搜索多个文件时这是默认选项 。(LCTT 译注:-h 选项强制隐藏文件名;另外 -l 和 -L 选项用于仅显示匹配/不匹配的文件名 ,而 -H 和 -h用于控制在显示匹配行前显示/不显示文件名  ,注重区分  。)

              代码如下:

              $grep --color=auto -nH 'DIR' *

              输出样例:

              你也可以使用 find 下令:

              代码如下:

              $ find . -name "*.c" -print | xargs grep "main("