这篇文章主要介绍了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" 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("

linux使用grep查找文件内容,Linux中使用grep命令搜索文件名及文件内容的方法相关推荐

  1. linux中通过date命令获取昨天或明天时间的方法

    linux中通过date命令获取昨天或明天时间的方法 date命令可以获取当前的时间,通过man,可以看到date有很多参数可以用,很容易做到格式化 date +"%F" 输出格式 ...

  2. linux grep查找具体位置,Linux grep 查找字符所在文件(grep详解)

    查找字符所在文件 grep -ir "S_ROLE"  ./* -i 不区分大小写 -r 查找字符出处 -a   --text   #不要忽略二进制的数据. -A   --afte ...

  3. linux系统文件信息系统满,在Deepin系统中提示系统盘已经满了(/home文件大)的解决方案...

    本文带来Deepin提示系统盘已经满了的解决方案,即针对Deepin系统下/home文件占比较大,但没有看到很大的文件,导致系统不停提示清理磁盘空间的问题.如果不是该问题引起的,以下方法就不适用了. ...

  4. Linux 普通用户拿到root权限及使用szrz命令上传下载文件

    1.如何拿到root权限 在shell里如果看到你的命令输入行最前面显示的是 $符号,说明目前账号只有系统的普通权限. 输入:sudo su 这时能看到shell的输入行最前面已经显示的是#号,说明已 ...

  5. linux上传文件权限命令,Linux 普通用户拿到root权限及使用szrz命令上传下载文件...

    1.如何拿到root权限 在shell里如果看到你的命令输入行最前面显示的是 $符号,说明目前账号只有系统的普通权限. 输入:sudo su 这时能看到shell的输入行最前面已经显示的是#号,说明已 ...

  6. linux sftp一次下载多个文件,scp或sftp使用单个命令复制多个文件

    scp或sftp使用单个命令复制多个文件 我想将文件从/向远程服务器复制到不同的目录中.例如,我想一次运行这4个命令. scp remote:A/1.txt local:A/1.txt scp rem ...

  7. shell中用grep查找并且不输出_Linux中用 grep查找特定进程,屏蔽grep进程本身(也就是不出现grep --color=auto)...

    2020年6月8日09:03:12更新 一些细节. 日常操作linux 中,通常在使用 ps命令后 用管道连接 查询特定进程会显示 grep进程本身. 如下: 1 [root@ecs-linux-by ...

  8. 怎么恢复服务器电脑删除的文件,windows系统中u盘上被删除的文件怎么恢复?_网站服务器运行维护,windows,u盘,删除,恢复...

    win10装cad提示权限不够怎么办?_网站服务器运行维护 解决方法:跳过管理员权限来进行安装.步骤:1.在经常要使用的程序上右键单击,选择"兼容性疑难解答":2.点击" ...

  9. android使用webview上传文件,Android项目中如何在webview页面中上传文件

    Android项目中如何在webview页面中上传文件 发布时间:2020-11-26 15:56:27 来源:亿速云 阅读:68 作者:Leah 本篇文章为大家展示了Android项目中如何在web ...

最新文章

  1. 快速目标检测--Object detection at 200 Frames Per Second
  2. ERP_基于Oracle SOA的企业服务总线整合
  3. 思路:当一个表嵌套另一个表时候 只需在dao中引入该mapper即可 进行正常的数据插入 查询 修改等...
  4. 【行业进展】AI:新药研发的新纪元
  5. pacman安装ubuntu_为什么tensorflow用户宁可ubuntu繁琐步骤搭建环境,也不用一条命令直达的manjaro?...
  6. .Net常用正则判断方法
  7. html中el表达式遍历list,EL表达式在JS中取出来打印[object HTMLDivElement]的问题
  8. Java基础学习-IO流
  9. 求一早间新闻~20170717
  10. 英伟达正寻求欧盟批准其收购Arm
  11. 【Hive】压缩格式
  12. [机器学习]关联挖掘算法Apriori和FP-Growth以及基于Spark 实例
  13. 使用soap遇到的缓存问题
  14. 网络字节序与主机字节序 高低位
  15. python做物联网控制_一步步搭建物联网系统——简单物联网
  16. 6种常用的项目管理模式
  17. web网页设计期末课程大作业 基于HTML+CSS+JavaScript响应式环保科技公司网站模板(环保主题网站设计)
  18. 2021蓝桥杯——直线
  19. 极客时间马哥教育-云原生训练营第一周作业-20221016
  20. 【计算机组织与体系结构】实验三:流水线处理器

热门文章

  1. 趣点赞打不开显示服务器错误,资讯 – CSGO辅助
  2. 干货解答:如何设置Facebook Messenger 自动回复?
  3. 周记一:要有一颗屹立不倒的恒心
  4. 联想拯救者R720重装Win10系统的正确姿势
  5. 免费下载有声读物获取您自己!
  6. 13.不抱怨的世界--美,威尔.鲍温,陈敬旻译,2017-12-10
  7. C++中加速cin与cout神器
  8. 小白学渗透——渗透测试基本流程
  9. 前端开发:使用JS正则表达式校验邮箱和手机号的方法,安卓面试题最新2020
  10. 如何将pdf转换成jpg图片的格式