2014-04-25 53 views
0

我有一个很大的CSS,JS和PHP文件的大目录。其中一些文件存在于子目录中。我使用这个命令来grep递归地包含一个模式的文件如何在目录中的特定类型的文件中grep一个模式

grep -r <pattern> * 

有时候JS文件占用了大部分的屏幕,就这样。

有没有一种简单的方法,可以只是grep PHP文件,而不使用“查找”?

回答

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). 
+0

是。这一个工程。非常感谢! –

0

grep -Hrn <pattern> *.php

这只会在文件中搜索与.php扩展

-H也会给文件名

N =也将显示在文件行号

R =递归

希望这会有所帮助

+0

感谢您的帮助。但它不起作用。 –

+0

什么是问题? – Nullpointer

+0

此命令仅在当前目录中搜索。我没有进入子目录。 –

0

您可以使用第二grep

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

但是,最好的办法是find反正:

find -name '*.php' -exec grep pattern {} \; 
相关问题