我有一台Mac OS X雪豹。我正在使用xterm终端使用此命令grep -R --color=auto setHeader *.js
来grep特定字符串,但是当我运行此命令时,我收到错误
grep: \*.js: No such file or directory
所以我的问题是如何在Mac上为特定的文件类型进行grep?
答案 0 :(得分:6)
grep --include=*.js -R . --color=auto setHeader
由于给出的示例使用“file type = file extension”,这应该可以正常工作。
答案 1 :(得分:5)
最好的方法是结合find
和grep
命令:
find . -name "*.js" -exec grep --color=auto setHeader {} \;
答案 2 :(得分:2)
这个在Mac OS 10.8上适用于我:
grep --include=*.js -r setHeader .
答案 3 :(得分:0)
问题是“-R”标志。使用时,需要指定目录。你最好使用find命令:
找到。 -name“* .js”-exec grep“setHeader”'{}'\;如果你想使用grep,只需使用“。”而不是文件模式的“* .js”。
答案 4 :(得分:0)
错误消息显示当前目录中没有'* .js'文件。如果要遍历目录树,则可以执行此操作:
find <startdirectory> -name '*.js' -exec grep --color=auto setHeader '{}' ';'
当然,您需要填写正确的 startdirectory ,您可以使用.
来表示您当前所在的目录。
答案 5 :(得分:0)
这个对我有用
mdfind -name .extn | grep .extn$
其中extn是您要搜索的文件类型(在我的情况下是.tre),当然$
是行尾。 grep在引号''