本文翻译自:grep, but only certain file extensions

I am working on writing some scripts to grep certain directories, but these directories contain all sorts of file types. 我正在编写一些脚本来grep某些目录,但这些目录包含各种文件类型。

I want to grep just .h and .cpp for now, but maybe a few others in the future. 我想grep只是.h.cpp现在,但也许其他几个人的未来。

So far I have: 到目前为止,我有:

{ grep -r -i CP_Image ~/path1/;grep -r -i CP_Image ~/path2/;grep -r -i CP_Image ~/path3/;grep -r -i CP_Image ~/path4/;grep -r -i CP_Image ~/path5/;} | mailx -s GREP email@domain.com

Can anyone show me how I would now add just the specific file extensions? 任何人都可以告诉我如何添加特定的文件扩展名?


#1楼

参考:https://stackoom.com/question/qWE5/grep-但只有特定的文件扩展名


#2楼

怎么样:

find . -name '*.h' -o -name '*.cpp' -exec grep "CP_Image" {} \; -print

#3楼

Just use the --include parameter, like this: 只需使用--include参数,如下所示:

grep -r -i --include \*.h --include \*.cpp CP_Image ~/path[12345] | mailx -s GREP email@domain.com

that should do what you want. 应该做你想要的。

Syntax notes: 语法说明:

  • -r - search recursively -r - 递归搜索
  • -i - case- insensitive search -i - 不区分大小写的搜索
  • --include=\\*.${file_extension} - search files that match the extension(s) or file pattern only --include=\\*.${file_extension} - 仅搜索与扩展名或文件模式匹配的文件

#4楼

Should write "-exec grep " for each "-o -name " 应该为每个“-o -name”写“-exec grep”

find . -name '*.h' -exec grep -Hn "CP_Image" {} \; -o -name '*.cpp' -exec grep -Hn "CP_Image" {} \;

Or group them by ( ) 或者按()分组

find . \( -name '*.h' -o -name '*.cpp' \) -exec grep -Hn "CP_Image" {} \;

option '-Hn' show the file name and line. 选项'-Hn'显示文件名和行。


#5楼

I am aware this question is a bit dated, but I would like to share the method I normally use to find .c and .h files: 我知道这个问题有点过时,但我想分享我通常用来查找.c和.h文件的方法:

tree -if | grep \\.[ch]\\b | xargs -n 1 grep -H "#include"

or if you need the line number as well: 或者如果您还需要行号:

tree -if | grep \\.[ch]\\b | xargs -n 1 grep -nH "#include"

#6楼

grep -rnw "some thing to grep" --include=*.{module,inc,php,js,css,html,htm} ./

grep,但只有特定的文件扩展名相关推荐

  1. 阻止具有特定文件扩展名的附件的电子邮件

    在现实环境中很多情况是不允许收特定文件扩展名的邮件,今天小编就简单跟大家分享下如何限制这些邮件. 登录到邮件管理控制台ECP 导航到邮件流-规则-+-创建新规则,如图所示: 如图所示,点击" ...

  2. 批量修改文件扩展名,并在扩展名的前面或后面插入特定的文字

    概要:扩展名对一个文件来说是非常重要的,因为扩展名是为了区分这个文件.那么我们有没有办法去批量的修改这些文件的扩展功呢?一般来说文本文件的扩展名我们可以随便的修改就可以了,因为他们不是二进制的文件,修 ...

  3. MATLAB可以打开gms文件吗,GMS文件扩展名 - 什么是.gms以及如何打开? - ReviverSoft...

    你在这里因为你有,有一个文件扩展名结尾的​​文件 .gms. 文件与文件扩展名 .gms 只能通过特定的应用程序推出.这有可能是 .gms 文件是数据文件,而不是文件或媒体,这意味着他们并不是在所有观 ...

  4. upload-labs_less3_less4_等价扩展名绕过_.htaccess文件改变文件扩展名

    关于靶场说几点:单纯用phpstudy 可能无法复现所有的漏洞,而且phpstudy中的php可能是线程不安全的,所以建议大家在自己本机或者虚拟机的中亲自搭建一下apache和php的环境,便于复现u ...

  5. tsv文件导oracle窜列,TSV文件扩展名 - 什么是.tsv以及如何打开? - ReviverSoft

    你在这里因为你有,有一个文件扩展名结尾的​​文件 .tsv. 文件与文件扩展名 .tsv 只能通过特定的应用程序推出.这有可能是 .tsv 文件是数据文件,而不是文件或媒体,这意味着他们并不是在所有观 ...

  6. 如何自动备份指定文件扩展名的文件?

    关于文件扩展名 文件扩展名,一个点后跟几个字母,例如".doc"或".jpg",构成计算机文档名称的结尾.保存文档时,请务必在单击"保存"之 ...

  7. c语言 m文件是什么,M文件扩展名 - 什么是.m以及如何打开? - ReviverSoft

    你在这里因为你有,有一个文件扩展名结尾的​​文件 .m. 文件与文件扩展名 .m 只能通过特定的应用程序推出.这有可能是 .m 文件是数据文件,而不是文件或媒体,这意味着他们并不是在所有观看. 什么是 ...

  8. 以下使用计算机的不良习惯,1.以下使用计算机的不好习惯是( )。 A. 关机前退出所有正在执行的应用程序 B. 使用标准的文件扩展名 C....

    1.以下使用计算机的不好习惯是( ). A. 关机前退出所有正在执行的应用程序 B. 使用标准的文件扩展名 C.0 1.以下使用计算机的不好习惯是( ). A. 关机前退出所有正在执行的应用程序 B. ...

  9. 计算机程序扩展名是什么,LOG文件扩展名 - 什么是.log以及如何打开? - ReviverSoft...

    你在这里因为你有,有一个文件扩展名结尾的​​文件 .log. 文件与文件扩展名 .log 只能通过特定的应用程序推出.这有可能是 .log 文件是数据文件,而不是文件或媒体,这意味着他们并不是在所有观 ...

最新文章

  1. Python设计模式-单例模式
  2. linux lsof/netstat查看进程和端口号相关命令:
  3. Spring Boot —— YAML配置文件
  4. hive3新增資料_Hive表新增字段后,新字段无法写入值问题总结
  5. 常用linux命令分组记录V1
  6. 正则表达式在java中的用法
  7. 面向对象的超级面试题,涉及封装多态继承等多方面考核,异常烧脑,90%的面试官必问题目,不会这个的,只是会搬砖的码农
  8. CVE2014-6287分析报告
  9. html5swf小游戏源码,FLASH打方块小游戏及as3代码
  10. android分辨率修改器,安卓分辨率一键修改器
  11. 计算机考研2017真题408,2017计算机408考研真题‌.pdf
  12. 神坛上的插画师真的高薪且自由吗?
  13. gps校正 android,通过GPS时间同步Android设备?
  14. 天使投资人如何评估创业公司价值
  15. 向量的数量积,向量积,混合积及应用
  16. 新浪微博开发平台地址 http://open.weibo.com/
  17. Web安全—常见加密编码方式详解(持续更新)
  18. 深拷⻉和浅拷⻉区别是什么?
  19. 阿里云应用防火墙WAF部署和使用
  20. 两台计算机组装在一起,好看又实用 手把手教你把两台电脑装在一起

热门文章

  1. JAVA层HIDL服务的注册原理-Android10.0 HwBinder通信原理(八)
  2. JS获取并操作iframe中元素的方法
  3. jquery跟js初始化加载的多种方法及区别介绍
  4. Android之利用ColorMatrix进行图片的各种特效处理
  5. sublime python3 输入换行不结束
  6. swift_042(Swift的typealias(别名)的用法)
  7. php从ftp下载文件到本地,php使用ftp实现文件上传与下载功能
  8. 快速排序的难点_数据结构考研重难点解析:快速排序
  9. java并发编程基础—生命周期与线程控制
  10. (原创)不带模板的DOI输出EXCEL