一尘不染

grep,但仅某些文件扩展名

linux

我正在为grep某些目录编写一些脚本,但是这些目录包含各种文件类型。

我想grep只是.h.cpp现在,但也许其他几个人的未来。

到目前为止,我有:

{ 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

谁能告诉我我现在如何只添加特定的文件扩展名?


阅读 448

收藏
2020-06-02

共1个答案

一尘不染

只需使用--include参数,如下所示:

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

那应该做你想要的。

从下面的HoldOffHunger答案中获取解释:

  • grep:命令

  • -r:递归地

  • -i:忽略大小写

  • --include \*.cpp:所有* .cpp:C ++文件(如果文件名中带有星号的目录,请使用\进行转义)

  • ./:从当前目录开始。

2020-06-02