首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux 上查找包含特定文本的所有文件

linux 上查找包含特定文本的所有文件

作者头像
入门笔记
发布于 2022-06-02 06:51:00
发布于 2022-06-02 06:51:00
4.4K00
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数:0
代码可运行

grep

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep -rnw '/path/to/somewhere/' -e 'pattern'
  • -r或者-R是递归的,
  • -n 是行号,并且
  • -w 代表匹配整个单词。
  • -l (小写 L) 可以添加只给出匹配文件的文件名。
  • -e 是搜索过程中使用的模式

除了这些, --exclude, --include,--exclude-dir标志可用于高效搜索:

只搜索那些具有 .c 或 .h 扩展名的文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"
排除搜索所有以 .o 扩展名结尾的文件:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"
对于目录,可以使用--exclude-dir参数排除一个或多个目录。例如,这将排除目录dir1/dir2/ 以及所有与*.dst/ 匹配的目录
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"

ack

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> awk "/root/" /etc/passwd

find

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> find / -type f -exec grep -l "rumenz" {} \; 
> find . -name "*.txt" | xargs grep -i "rumenz"
别名一个ffind

在~/.bashrc文件中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> alias ffind find / -type f | xargs grep

启动一个新终端

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> ffind 'rumenz'

ack-grep

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> ack-grep "rumenz"

ack

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> ack -i rumenz doc/*

git 存储库中查找

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
> git grep "rumenz"
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 入门小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
一款开源的文件搜索神器,终于不用记 find 命令了
这是 HelloGitHub 推出的《讲解开源项目》系列,用一篇文章带你快速上手有趣的开源项目。
HelloGitHub
2022/05/22
4970
一款开源的文件搜索神器,终于不用记 find 命令了
linux命令—tree
tree 是一个实用的 Linux 目录列表工具,以树形结构递归显示文件和目录,直观展示层级关系。它支持自定义过滤、排序、输出格式等功能,是管理文件系统的利器。
刘俊辉个人博客
2025/06/18
2340
linux命令—tree
Linux 小技巧总结
即第一个文件的第一行接第二个文件的第一行,然后是第一个文件的第二行和第二个文件的第二行,举例: a.txt
王云峰
2019/12/25
7400
[Linux基础]Linux基础知识入门及常见命令.
前言: 最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10 V1:192.168.40.11 Linux ip:192.168.40.128 2,Linux是一个操作系统, 与windows的区别: Linux:图形化界面简单,性能很快,在企业中当做服务器来使用. Windows:图形化界面很炫,性能相对差,大众用户. windows的服务器: windows2003,windows2008,windows2012 3,Lin
一枝花算不算浪漫
2018/05/18
1.5K0
3分钟短文 | rysnc 秒杀一切备份工具,能手动屏蔽某些目录吗?
Rsync是一种快速且通用的命令行实用程序,可通过远程shell在两个位置之间同步文件和文件夹。
程序员小助手
2020/06/24
6430
3分钟短文 | rysnc 秒杀一切备份工具,能手动屏蔽某些目录吗?
Linux 利用 find 查找文件
第一个命令中的 {} 是指的 find /PATH -name “.h”* 的结果,也是就说,第一个命令中 grep 是在 find 查到的结果中进行二次筛选操作。而后面的 \; 则是语句的结束标识,也就是转义的 ; 。
zucchiniy
2019/10/30
8.4K0
Shell文本处理三剑客之grep
除了grep外,还有egrep、fgrep。egrep是grep的扩展,相当于grep -E。fgrep相当于grep -f,用的少。
菲宇
2022/12/02
5150
Linux基础(强大到流泪的find/grep)
在linux下面工作,有些命令能够大大提高效率。本文就向大家介绍find、grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们。这篇推送较长,内容预告如下:
用户2617681
2019/08/08
1.6K0
linux下的文本查找技巧,你掌握了吗?
之前介绍过很多linux下查找相关的命令,例如《Linux中的文件查找技巧》,《find命令高级用法》,《如何查看linux中文件打开情况》等等,而对文件内容搜索的命令似乎还没有涉及,因此本文介绍文本搜索命令--grep。
编程珠玑
2019/07/12
1.4K0
Linux经常用到的命令你知道有哪些?
作为一个前端,虽然很少和Linux打交道,但是有些简单的命令,还是可以多了解了解的,小编最近在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解到的命令列举一下,仅供大家参考
Javanx
2019/09/04
1.2K0
linux运维中的命令梳理(一)
在linux日常运维中,我们平时会用到很多常规的操作命令。 ------------------------------------------------------- 在修改文件后,执行下面操作进行代码提交到git: git add . git status #查看修改了哪些文件信息 git commit -m "edit message"
洗尽了浮华
2018/01/23
7.7K0
【linux学习指南】Linux命令行工具大全(三):文件解压缩管理、数据处理一网打尽
该文章j将介绍Linux中的常用系统工具和命令,如用于分页显示文本的more和less、显示时间的date、管理日历的cal、文件搜索的find和grep、以及压缩/解压缩的zip/unzip和tar。文中详细解释了每个命令的语法、功能和常用选项,并提供了示例。
学习起来吧
2024/09/05
1330
【linux学习指南】Linux命令行工具大全(三):文件解压缩管理、数据处理一网打尽
linux之rsync远程同步文件
原文链接:https://rumenz.com/rumenbiji/linux-rsync.html
入门笔记
2021/10/25
3.1K0
linux之grep使用技巧
原文链接:https://rumenz.com/rumenbiji/linux-grep-skills.html
入门笔记
2021/10/14
2.5K0
Linux达人必备:一文掌握全网最全文件操作命令!120+命令
程序熵
2024/03/18
3130
Linux达人必备:一文掌握全网最全文件操作命令!120+命令
文本_bash笔记4
用于文本搜索,匹配文件内容,语法格式为:grep pattern filename,例如:
ayqy贾杰
2019/06/12
9510
三大文本处理工具grep、sed及awk
  grep能够接受正则表达式,生成各种格式的输出。除此之外,它还有大量有趣的选项。
用户1173509
2022/05/09
7800
三大文本处理工具grep、sed及awk
【Linux】linux查找某目录下包含关键字内容的文件find、grep、xargs高级应用
Linux提供了多种强大的命令行工具来实现这一需求,包括find、grep和xargs。
程序员洲洲
2024/06/14
5.1K0
【Linux】linux查找某目录下包含关键字内容的文件find、grep、xargs高级应用
Linux常用命令03 - grep
grep 命令代表“全局正则表达式 print” ,它是 Linux 中最强大和最常用的命令之一。
叉叉敌
2020/04/21
2.3K0
Linux之文件管理及文本处理
文件管理不外乎文件或目录的创建、删除、查询、移动,有mkdir/rm/mv 文件查询是重点,用find来进行查询;find的参数丰富,也非常强大; 有时候,需要给文件创建一个别名,我们需要用到ln,使用这个别名和使用原文件是相同的效果; 2.1. 创建和删除 创建:mkdir 删除:rm 删除非空目录:rm -rf file目录 删除日志 rm *log (等价: $find ./ -name “*log” -exec rm {} ;) 移动:mv 复制:cp (复制目录:cp -r ) 查看当前目录下文件个数: $find ./ | wc -l 复制目录: $cp -r source_dir dest_dir 2.2. 目录切换 找到文件/目录位置:cd 切换到上一个工作目录: cd - 切换到home目录: cd or cd ~ 显示当前路径: pwd 更改当前工作路径为path: $cd path 2.3. 列出目录项 显示当前目录下的文件 ls 按时间排序,以列表的方式显示目录项 ls -lrt 以上这个命令用到的频率如此之高,以至于我们需要为它建立一个快捷命令方式: 在.bashrc 中设置命令别名: alias lsl='ls -lrt' alias lm='ls -al|more' 这样,使用lsl,就可以显示目录中的文件按照修改时间排序;以列表方式显示; 给每项文件前面增加一个id编号(看上去更加整洁): >ls | cat -n 1 a 2 a.out 3 app 4 b 5 bin 6 config 注:.bashrc 在/home/你的用户名/ 文件夹下,以隐藏文件的方式存储;可使用 ls -a 查看; 2.4. 查找目录及文件 find/locate 搜寻文件或目录: $find ./ -name "core*" | xargs file 查找目标文件夹中是否有obj文件: $find ./ -name '*.o' 递归当前目录及子目录删除所有.o文件: $find ./ -name "*.o" -exec rm {} \; find是实时查找,如果需要更快的查询,可试试locate;locate会为文件系统建立索引数据库,如果有文件更新,需要定期执行更新命令来更新索引库: $locate string 寻找包含有string的路径: $updatedb 与find不同,locate并不是实时查找。你需要更新数据库,以获得最新的文件索引信息。 2.5. 查看文件内容 查看文件:cat vi head tail more 显示时同时显示行号: $cat -n 按页显示列表内容: $ls -al | more 只看前10行: $head - 10 ** 显示文件第一行: $head -1 filename 显示文件倒数第五行: $tail -5 filename 查看两个文件间的差别: $diff file1 file2 动态显示文本最新信息: $tail -f crawler.log 2.6. 查找文件内容 使用egrep查询文件内容: egrep '03.1\/CO\/AE' TSF_STAT_111130.log.012 egrep 'A_LMCA777:C' TSF_STAT_111130.log.035 > co.out2 2.7. 文件与目录权限修改 改变文件的拥有者 chown 改变文件读、写、执行等属性 chmod 递归子目录修改: chown -R tuxapp source/ 增加脚本可执行权限: chmod a+x myscript 2.8. 给文件增加别名 创建符号链接/硬链接: ln cc ccAgain :硬连接;删除一个,将仍能找到; ln -s cc ccTo :符号链接(软链接);删除源,另一个无法使用;(后面一个ccTo 为新建的文件) 2.9. 管道和重定向 批处理命令连接执行,使用 | 串联: 使用分号 ; 前面成功,则执行后面一条,否则,不执行:&& 前面失败,则后一条执行: || ls /proc && echo suss! || echo failed. 能够提示命名是否执行成功or失败; 与上述相同效果的是: if ls /proc; then echo suss; else echo fail; fi 重定向: ls proc/*.c > list 2> &l 将标准输出和标准错误重定向
菲宇
2019/06/13
2K0
推荐阅读
相关推荐
一款开源的文件搜索神器,终于不用记 find 命令了
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验