在Linux系统中,find和grep都是很强大的命令,可以做很多很多事情,今天刚好有人问“如何查找哪些文件包含了特定字符串,并显示这些文件的名称”。

第一种方法:使用grep,假设搜索所有的.cpp文件是否包含'open'字符串,如果包含了,则显示该文件,命令如下:

grep -rl 'open' . --include=*.cpp

则执行结果如下:

./test/testall/file.cpp
./test/testall/shell_test.cpp
./test/daemontest/main.cpp

但是有时候只显示文件名,也不知道出现的地方到底是什么样子的,如果还有顺带查看一下那一行的内容,可以用如下命令:

grep -rn 'open' . --include=*.cpp

则,执行结果如下:

./test/testall/file.cpp:270:    FILE *file = fopen(file_name.c_str(),"w");
./test/testall/file.cpp:273:            printf("Can't open the file\n");
./test/testall/shell_test.cpp:29:       FILE *file = fopen(file_name, "r");
./test/daemontest/main.cpp:53:  openlog("daemontest",LOG_PID,LOG_USER);

显示了文件名,行号以及该行内容。

第二种方法:使用find命令+grep

假设搜索所有的.cpp文件是否包含'open'字符串,如果包含了,则显示该文件,命令如下:

find -name '*.cpp' -exec grep -l 'open' {} \;

则结果如下:

./test/testall/file.cpp
./test/testall/shell_test.cpp
./test/daemontest/main.cpp



[Linux]搜索文件是否包含指定内容并返回文件名相关推荐

  1. linux搜索文件中包含的字符

    grep "搜索的字符" *.php 例如

  2. linux模糊查询特定后缀名文件,linux中查找包含指定内容的文件

    查找包含指定内容的文件就是用grep这个命令 grep 'name' -r / grep '指定内容' -r 目录 上述命令就是在根目录下递归查找包含name内容的文件 -r 递归查找文件 -e 从文 ...

  3. [linux命令]查找包含指定内容的文件

    内容查找.查找内容.查找包含指定内容的文件 文章目录 格式1:grep -r "指定内容" 目录 格式2:grep -r -l "指定内容" 目录 格式3:fi ...

  4. Linux 如何在文件中查找指定内容

    一.前言:在Linux系统当中,查找文件里面的指定内容 应该是系统维护.管理当中遇到最常见的.那么下面如何搜索.查找文件当中的内容呢?下面就介绍一下如何在文件中查找指定的内容 查找文件当中的内容,一般 ...

  5. linux文件删除指定内容,Linux bash删除文件中含“指定内容”的行功能示例

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  6. linux删除具有指定内容的文件,Linux bash删除文件中含“指定内容”的行功能示例...

    本文实例讲述了Linux bash删除文件中含"指定内容"的行功能.分享给大家供大家参考,具体如下: #!/bin/sh # 功能: 删除文件中含"指定内容"的 ...

  7. panda是删除行_pandas删除包含指定内容的行

    Outline 处理数据时,遇到文件中包含一些不需要的数据(行),需要把这些不符合要求的行给删除掉. 例如:该数据中应该都是2000年的数据,但是包含了一些2001年的数据,所以需要把2001年的数据 ...

  8. Linux搜索文件和文件夹的方法

    Linux 搜索文件和文件夹的 4 种简单方法 英文:Prakash Subramanian,翻译:Linux中国/geekpi linux.cn/article-10362-1.html Linux ...

  9. Linux 搜索文件和文件夹的 4 种简单方法

    Linux 管理员一天都不能离开搜索文件,因为这是他们的日常活动.了解一些搜索的东西是不错的,因为这能帮助你在命令行服务器中工作.这些命令记忆起来不复杂,因为它们使用的是标准语法. 可以通过四个 Li ...

最新文章

  1. 从别人那拷下来的几点Session使用的经验(转载)
  2. matlab与acess连接问题
  3. 内存的分配方式有几种? 动态内存的的传递注意事项!
  4. 宝塔中mysql数据库命名小坑
  5. 关于现在手上做的项目的数据库设计思考
  6. Nginx如何配置虚拟主机?
  7. 【数学和算法】奇异值分解在【图像压缩】中的应用
  8. 电气工程师学python_Python 在电气工程及其自动化上有哪些应用?
  9. mysqldump主要参数探究
  10. linux将数字转为科学计数法,Linux下科学计数法(e)转化为数字的方法
  11. java云之家发送信息_开发文档:考勤信息api - 云之家·开放平台
  12. IPv6实验5:IPv4到IPv6的过渡
  13. 一文搞懂无刷电机和有刷电机
  14. 年度盘点:20+主流数据库重大更新及技术要点回顾
  15. 报错:Apache提示 the requested operation has failed无法启动问题(最全!)
  16. 打开 codeblocks 出现 ntvdm.exe 停止工作
  17. 七日杀服务器怎么修改天数,七日杀游戏里怎么修改天数 | 手游网游页游攻略大全...
  18. [小游戏] 微信小游戏开发源码_教程_工具_资源最新集合
  19. 上班族程序员必备的学习网站大全
  20. DNS解析和优化(操作与实践,一分钟就能实现DNS优化)

热门文章

  1. 如何评价三国里的袁绍
  2. tensorflow fetch 取回某个值
  3. 圆弧与直线相切画法_数控编程基础,相切圆弧的基点计算方法
  4. 论文笔记 Traffic Data Reconstruction via Adaptive Spatial-Temporal Correlations
  5. python文件操作2:在指定目录下查找指定后缀名的文件
  6. 山东财经大学python试卷_山东财经大学微观经济学试卷1及答案
  7. 【云计算】4_CDN加速产品介绍
  8. LeetCode-剑指 Offer 52. 两个链表的第一个公共节点
  9. Python编程基础:第二十七节 format输出Format
  10. Python编程基础:第二十五节 args参数*args