2011-03-21 49 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 .