grep определенные типы файлов на MAC - PullRequest
7 голосов
/ 21 марта 2011

У меня есть Mac OS X снежный барс. Я использую терминал xterm для grep определенной строки, используя эту команду grep -R --color=auto setHeader *.js, но когда я запускаю эту команду, я получаю сообщение об ошибке

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

Итак, мой вопрос: как я могу использовать grep для определенного типа файлов на Mac?

Ответы [ 5 ]

6 голосов
/ 21 марта 2011

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

Поскольку в приведенном примере используется тип файла = расширение файла, это должно сработать.

5 голосов
/ 21 марта 2011

Лучший способ сделать это - объединить команду find и grep:

find . -name "*.js" -exec grep --color=auto setHeader {} \;
2 голосов
/ 29 ноября 2012

Этот работает для меня в Mac OS 10.8:

grep --include=*.js -r setHeader .
0 голосов
/ 21 марта 2011

В сообщении об ошибке говорится, что в вашем текущем каталоге нет файлов * .js. Если вы хотите просмотреть дерево каталогов, то вы можете сделать это:

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

Конечно, вам нужно заполнить правильный начальный каталог , вы можете использовать . для обозначения каталога, в котором вы сейчас находитесь.

0 голосов
/ 21 марта 2011

Проблема в флаге "-R". При использовании этого вам нужно указать каталог. Вам лучше использовать команду поиска:

найти. -name "* .js" -exec grep "setHeader" '{}' \;

Если вы хотите использовать grep, просто используйте "." вместо "* .js" для шаблона файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...