如何在目录中的特定类型的文件中grep一个模式

时间:2014-04-25 07:54:59

标签: grep

我有一个包含大量CSS,JS和PHP文件的大目录。其中一些文件存在于子目录中。我使用此命令来grep查找包含递归模式的文件

grep -r <pattern> *
有时候,JS文件会以这种方式占据大部分屏幕。

是否有一种简单的方法可以只使用grep PHP文件,而不使用&#34; find&#34;?

3 个答案:

答案 0 :(得分:1)

您需要指定--include

grep -r --include '*.php' <pattern> .

--include选项采用可用于指定要搜索的文件的glob:

   --include=GLOB
          Search  only  files whose base name matches GLOB (using wildcard
          matching as described under --exclude).

答案 1 :(得分:0)

grep -Hrn <pattern> *.php

这只会搜索包含.php扩展名

的文件

-H也会给出文件名

n =还会在文件中显示行号

r =递归

希望这有帮助

答案 2 :(得分:0)

您可以使用第二个grep

grep -rH pattern * | grep '.php:'

但最好的方法是find无论如何:

find -name '*.php' -exec grep pattern {} \;