我有一个很大的CSS,JS和PHP文件的大目录。其中一些文件存在于子目录中。我使用这个命令来grep递归地包含一个模式的文件如何在目录中的特定类型的文件中grep一个模式
grep -r <pattern> *
有时候JS文件占用了大部分的屏幕,就这样。
有没有一种简单的方法,可以只是grep PHP文件,而不使用“查找”?
我有一个很大的CSS,JS和PHP文件的大目录。其中一些文件存在于子目录中。我使用这个命令来grep递归地包含一个模式的文件如何在目录中的特定类型的文件中grep一个模式
grep -r <pattern> *
有时候JS文件占用了大部分的屏幕,就这样。
有没有一种简单的方法,可以只是grep PHP文件,而不使用“查找”?
你需要指定--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).
grep -Hrn <pattern> *.php
这只会在文件中搜索与.php
扩展
-H也会给文件名
N =也将显示在文件行号
R =递归
希望这会有所帮助
您可以使用第二grep
:
grep -rH pattern * | grep '.php:'
但是,最好的办法是find
反正:
find -name '*.php' -exec grep pattern {} \;
是。这一个工程。非常感谢! –