2011-03-21 97 views
6

我有一个Mac OS X雪豹。我现在用的是xterm的终端使用此命令grep -R --color=auto setHeader *.js到grep特定字符串,但是当我运行这个命令我得到的错误说MAC上的grep特定文件类型

grep: \*.js: No such file or directory 

所以我的问题是我如何可以grep在Mac特定的文件类型?

回答

5

要做到这一点,最好的办法是将findgrep命令结合:

find . -name "*.js" -exec grep --color=auto setHeader {} \; 
+0

感谢劳伦特。这工作! – Amrish 2011-03-22 12:03:42

0

问题是“-R”标志。当使用它时,你需要指定一个目录。你最好使用find命令:

找到。 -name“* .js”-exec grep“setHeader”'{}'\;

如果你想使用grep,只需使用“。”而不是文件模式的“* .js”。

0

该错误消息说有在当前目录中没有“* .js文件”的文件。如果你想遍历目录树,那么你可以这样做:

find <startdirectory> -name '*.js' -exec grep --color=auto setHeader '{}' ';' 

当然,你需要填写正确的startdirectory,您可以使用.表示目前在你的目录

6

grep --include=*.js -R . --color=auto setHeader

由于实例中所给出的用途“文件类型=文件扩展名”,这应该只是工作。

1

这一个为我工作在Mac OS 10.8:

grep --include=*.js -r setHeader .