linux使用grep查找文件内容,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" 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命令搜索文件名及文件内容的方法相关推荐
- linux中通过date命令获取昨天或明天时间的方法
linux中通过date命令获取昨天或明天时间的方法 date命令可以获取当前的时间,通过man,可以看到date有很多参数可以用,很容易做到格式化 date +"%F" 输出格式 ...
- linux grep查找具体位置,Linux grep 查找字符所在文件(grep详解)
查找字符所在文件 grep -ir "S_ROLE" ./* -i 不区分大小写 -r 查找字符出处 -a --text #不要忽略二进制的数据. -A --afte ...
- linux系统文件信息系统满,在Deepin系统中提示系统盘已经满了(/home文件大)的解决方案...
本文带来Deepin提示系统盘已经满了的解决方案,即针对Deepin系统下/home文件占比较大,但没有看到很大的文件,导致系统不停提示清理磁盘空间的问题.如果不是该问题引起的,以下方法就不适用了. ...
- Linux 普通用户拿到root权限及使用szrz命令上传下载文件
1.如何拿到root权限 在shell里如果看到你的命令输入行最前面显示的是 $符号,说明目前账号只有系统的普通权限. 输入:sudo su 这时能看到shell的输入行最前面已经显示的是#号,说明已 ...
- linux上传文件权限命令,Linux 普通用户拿到root权限及使用szrz命令上传下载文件...
1.如何拿到root权限 在shell里如果看到你的命令输入行最前面显示的是 $符号,说明目前账号只有系统的普通权限. 输入:sudo su 这时能看到shell的输入行最前面已经显示的是#号,说明已 ...
- linux sftp一次下载多个文件,scp或sftp使用单个命令复制多个文件
scp或sftp使用单个命令复制多个文件 我想将文件从/向远程服务器复制到不同的目录中.例如,我想一次运行这4个命令. scp remote:A/1.txt local:A/1.txt scp rem ...
- shell中用grep查找并且不输出_Linux中用 grep查找特定进程,屏蔽grep进程本身(也就是不出现grep --color=auto)...
2020年6月8日09:03:12更新 一些细节. 日常操作linux 中,通常在使用 ps命令后 用管道连接 查询特定进程会显示 grep进程本身. 如下: 1 [root@ecs-linux-by ...
- 怎么恢复服务器电脑删除的文件,windows系统中u盘上被删除的文件怎么恢复?_网站服务器运行维护,windows,u盘,删除,恢复...
win10装cad提示权限不够怎么办?_网站服务器运行维护 解决方法:跳过管理员权限来进行安装.步骤:1.在经常要使用的程序上右键单击,选择"兼容性疑难解答":2.点击" ...
- android使用webview上传文件,Android项目中如何在webview页面中上传文件
Android项目中如何在webview页面中上传文件 发布时间:2020-11-26 15:56:27 来源:亿速云 阅读:68 作者:Leah 本篇文章为大家展示了Android项目中如何在web ...
最新文章
- 快速目标检测--Object detection at 200 Frames Per Second
- ERP_基于Oracle SOA的企业服务总线整合
- 思路:当一个表嵌套另一个表时候 只需在dao中引入该mapper即可 进行正常的数据插入 查询 修改等...
- 【行业进展】AI:新药研发的新纪元
- pacman安装ubuntu_为什么tensorflow用户宁可ubuntu繁琐步骤搭建环境,也不用一条命令直达的manjaro?...
- .Net常用正则判断方法
- html中el表达式遍历list,EL表达式在JS中取出来打印[object HTMLDivElement]的问题
- Java基础学习-IO流
- 求一早间新闻~20170717
- 英伟达正寻求欧盟批准其收购Arm
- 【Hive】压缩格式
- [机器学习]关联挖掘算法Apriori和FP-Growth以及基于Spark 实例
- 使用soap遇到的缓存问题
- 网络字节序与主机字节序 高低位
- python做物联网控制_一步步搭建物联网系统——简单物联网
- 6种常用的项目管理模式
- web网页设计期末课程大作业 基于HTML+CSS+JavaScript响应式环保科技公司网站模板(环保主题网站设计)
- 2021蓝桥杯——直线
- 极客时间马哥教育-云原生训练营第一周作业-20221016
- 【计算机组织与体系结构】实验三:流水线处理器