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

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

代码如下:

grep”word”文件名

greproot/etc/*

示例输出:

代码如下:

/etc/bash.bashrc:See”mansudo_root”fordetails.

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

/etc/crontab:256***roottest-x/usr/sbin/anacron||(cd/&&run-parts--report/etc/cron.daily)

/etc/crontab:476**7roottest-x/usr/sbin/anacron||(cd/&&run-parts--report/etc/cron.weekly)

/etc/crontab:5261**roottest-x/usr/sbin/anacron||(cd/&&run-parts--report/etc/cron.monthly)

/etc/group:root:x:0:

grep:/etc/gshadow:Permissiondenied

/etc/logrotate.conf:create0664rootutmp

/etc/logrotate.conf:create0660rootutmp

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

代码如下:

grep-l”string”filename

grep-lroot/etc/*

示例输出:

代码如下:

/etc/aliases

/etc/arpwatch.conf

grep:/etc/at.deny:Permissiondenied

/etc/bash.bashrc

/etc/bash_completion

/etc/ca-certificates.conf

/etc/crontab

/etc/group

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

代码如下:

grep-L”word”filename

grep-Lroot/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

依照文件内容查找文件

输入以下命令

代码如下:

查找文件命令linux_linux命令行查找文件_linux查找文件名命令

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.cFILE.cFILE.C)的大小写。

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

高亮匹配到的模式

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

代码如下:

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

linux查找文件名命令_linux命令行查找文件_查找文件命令linux

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

你或许须要显示文件名和行号:

代码如下:

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

其中虚拟主机 linuxlinux教程

-n:在输出的每行后面添加以1开始的行号。

-H:为每位匹配复印文件名。要搜索多个文件时这是默认选项。(LCTT评注:-h选项强制隐藏文件名;另外-l和-L选项用于仅显示匹配/不匹配的文件名linux查找文件名命令,而-H和-h用于控制在显示匹配行前显示/不显示文件名,注意分辨。)

代码如下:

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

输出样例:

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

你也可以使用find命令:

代码如下:

$find.-name”*.c”-print|xargsgrep”main(“

Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复