Linux中如何使用grep命令搜索文件名
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章将为大家详细讲解有关Linux中如何使用grep命令搜索文件名,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。从文件中搜索并显示文件名当你从不止
千家信息网最后更新 2026年11月04日Linux中如何使用grep命令搜索文件名
这篇文章将为大家详细讲解有关Linux中如何使用grep命令搜索文件名,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
从文件中搜索并显示文件名
当你从不止一个的文件中搜索时,默认它将显示文件名:
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" filenamegrep -l root /etc/*
示例输出:
/etc/aliases/etc/arpwatch.confgrep: /etc/at.deny: Permission denied/etc/bash.bashrc/etc/bash_completion/etc/ca-certificates.conf/etc/crontab/etc/group
你也可以逆转输出;使用 -L 选项来输出那些不匹配的文件的文件名:
grep -L "word" filenamegrep -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' *.txtgrep 'main(' *.cgrep '#include' *.cgrep 'getChar*' *.cgrep -i 'ultra' *.confgrep -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("关于Linux中如何使用grep命令搜索文件名就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
文件
文件名
输出
搜索
命令
模式
内容
示例
行号
文章
更多
知识
篇文章
高亮
输入
不错
从不
代码
多个
大小
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
科技互联网
互联网的科技创新
安徽鑫晟辉互联网科技
互联网金融科技创新
赫美联合互联网科技
深圳艾佳互联网科技
互联网教育科技公司vipkid
创业天下互联网科技有限公司
剑昆互联网络科技有限公司临桂
字节跳动和互联网科技
承德科技产业互联网发展
高科技互联网发展前景如何
区块链结合互联网科技
山东子淼互联网科技有限公司
浙南科技城互联网大厦招聘
互联网科技接地气
第三届互联网大会安防黑科技
10位科技互联网大佬
银川新华互联网科技学校招聘
颐高云石互联网科技
中智农互联网科技
互联网科技公司电话
科技互联网公司logo
安控科技rtu产品工业互联网
互联网实体化科技化
互联网科技产业特征
移动互联网年度科技创新
乌苏新华互联网科技做什么的
四川慕妮娅互联网科技有限公司
明优互联网科技有限公司