Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >linux 上查找包含特定文本的所有文件

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

作者头像
入门笔记
发布于 2022-06-02 06:51:00
发布于 2022-06-02 06:51:00
4.2K00
代码可运行
举报
文章被收录于专栏:入门小站入门小站
运行总次数: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
什么?C/C++面试过不了?因为你还没看过这个!
(为了方便记忆可以想成)被 const 修饰(在 const 后面)的值不可改变,如下文使用例子中的 p2、p3。
杨源鑫
2020/06/04
3.9K0
C++复习笔记——C++ 关键字
new new(新建)用于新建一个对象。new运算符总是返回一个指针。由 new 创建
莫斯
2020/09/10
1.5K0
【C++从小白到大牛】C++的隐式和显示类型转换基础知识讲解
在C语言中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转化,C语言中总共有两种形式的类型转换:隐式类型转换和显式类型转换。
用户11316056
2024/10/16
3590
【C++从小白到大牛】C++的隐式和显示类型转换基础知识讲解
C++显性契约与隐性规则:类型转换
关于类型转换,通常是隐式转换或者强制转换,C++ 提供了一些能够显式表示转换的运算符,能够更好的规避一些风险和错误
DARLING Zero two
2025/06/12
650
《逆袭进大厂》之C++篇49问49答
,这些都是我自己整理的秋招笔记,一把屎一把尿慢慢总结出来的那种,这些笔记可以说对我帮助良多。
DeROy
2021/02/05
2.1K0
《逆袭进大厂》之C++篇49问49答
【C++】你只会强制类型转换吗?来看看C++的骚操作吧!
​ 在 C语言 中,如果赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与接收返回值类型不一致时,就需要发生类型转化, C语言 中总共有两种形式的类型转换:隐式类型转换、显式类型转换。
利刃大大
2025/05/21
1510
【C++】你只会强制类型转换吗?来看看C++的骚操作吧!
C++的关键字
asm                cdecl            far                   huge
叶茂林
2023/07/28
1510
【专业技术】C++里面重要的几个关键字的用法
编者按: 这几个关键字非常重要,程序中经常见到他们的身影,但是确切意思有时候还需要多搜索下才能知道。笔者这里把它搬出来,也是希望大家引起重视,努力掌握它。 C++关键字:mutable、volatile、explicit以及__based mutable关键字 关键字mutable是C++中一个不常用的关键字,他只能用于类的非静态和非常量数据成员我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化! 如果一个类的成员函数被声明为const类型,表示该函数不会
程序员互动联盟
2018/03/14
8900
C++复习大全(各种知识点)
这篇博客是我之前的一个礼拜复习总结的各种知识点,可能有些多,其中的一些观点是来自于《Effective C++》和《C++编程思想》,这两本书中的知识给了我很多启发,也让我懂得了许多不一样的知识点,我连带我的认识以及理解整理起来,希望会对你们有所帮助。
用户7886150
2021/02/04
1.2K0
c++关键字完整列表及含义
不止于python
2024/03/12
2710
c++关键字完整列表及含义
C++:特殊类设计和四种类型转换
拷贝只会放生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝,只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。
小陈在拼命
2024/06/04
2150
C++:特殊类设计和四种类型转换
【C++高阶】:特殊类设计和四种类型转换
💢C++11扩展delete的用法,delete除了释放new申请的资源外,如果在默认成员函数后跟=delete,表示让编译器删除掉该默认成员函数。
IsLand1314
2024/10/15
1460
【C++高阶】:特殊类设计和四种类型转换
初识C++ · 类型转换
C++可以说是恨死了隐式类型转换,你可能会疑问了,为什么?不是单参数隐式类型转换为自定义类型的时候人们还是津津乐道的吗?但是当我们模拟首先插入的某种情况的时候,可能会写这种代码:
_lazy
2024/10/16
1460
初识C++ · 类型转换
【C++】特殊类设计和C++的类型转换
拷贝只会发生在两个场景中:拷贝构造函数以及赋值运算符重载,因此想要让一个类禁止拷贝, 只需让该类不能调用拷贝构造函数以及赋值运算符重载即可。
秦jh
2025/01/07
2260
【C++】特殊类设计和C++的类型转换
【笔记】《C++Primer》—— 第19章:特殊工具与技术
这一章介绍了平时可能不太会用到的C++特性,内容比较杂。其中有类似枚举,联合,局部类这样之前就用过的特性,也有类成员指针,局部类这样新了解的特性。其中个人觉得19.1对new和delete的讨论很重要,19.2的RTTI介绍也扩展了我们编码的自由度,最后19.8的位域让我们可以更方便地进行位运算。
ZifengHuang
2020/07/29
9170
【笔记】《C++Primer》—— 第19章:特殊工具与技术
Modern c++快速浅析
•template<typename T> void func(T& param);在这个示例函数中,如果传递进是一个const int&的对象,那么T推导出来的类型是const int,param的类型是const int&。可见引用性在型别推导的过程中被忽略•template<typename T> void func(T param);在这个示例函数中,我们面临的是值传递的情景,如果传递进的是一个const int&的对象,那么T和param推导出来的类型都是int如果传递进的是一个const char* const的指针,那么T和param推导出来的类型都是const char*,顶层const被忽略。因为这是一个拷贝指针的操作,因此保留原指针的不可更改指向性并没有太大的意义
高性能架构探索
2024/01/03
4480
Modern c++快速浅析
【C++高阶】C++类型转换全攻略:深入理解并高效应用
前言:在C++的浩瀚宇宙中,类型转换作为连接不同类型数据之间的桥梁,扮演着至关重要的角色。它不仅关乎程序的正确性与效率,更是深入理解C++语言特性的重要一环。随着C++语言的不断演进,类型转换的规则与技巧也日益丰富和复杂,为开发者提供了强大的灵活性和表达力
Eternity._
2024/09/18
2210
【C++高阶】C++类型转换全攻略:深入理解并高效应用
C++11类型转换
但是上边的代码会出现一个问题,就是运行结果显示,a还是2,不过当我们打开监视窗口可以看到a其实已经被改成3了,这是什么原因呢?
芝士就是菜
2023/04/20
4480
C++11类型转换
【C++】类型转换
在 C 语言中,如果 赋值运算符左右两侧类型不同,或者形参与实参类型不匹配,或者返回值类型与 接收返回值类型不一致时,就需要发生类型转化 , C 语言中总共有两种形式的类型转换: 隐式类型 转换和显式类型转换 。
青衫哥
2023/10/17
3110
【C++】类型转换
小朋友学Python(10):C/C++/Java/Python的关键字
一、C语言关键字 C语言关键字有32个 autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile auto:声明自动变量。自动变量,只在定义它们的时候才创建,在定义它们的函数返回时系统回收变量所占存储空间。对这些变量存储空间的分配和回收
海天一树
2018/04/17
1.5K0
相关推荐
什么?C/C++面试过不了?因为你还没看过这个!
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验