2012-05-09 2 views
4

Есть ли способ сказать ack/grep игнорировать миниатюрный Javascript? Эти файлы имеют тысячи символов в строке и прикручивают вывод результатов поиска.Grep and ignore minified javascript

ответ

4

ack 1.x не имеет возможности игнорировать минимизированный javascript напрямую. Это будет рассмотрено в 2.0. Мы работаем над этим в http://github.com/petdance/ack2.

0

Зависит, если вы можете как-то указать, какие файлы следует исключить. Например, если вы следуете за соглашением .min.js, то просто просто убедиться, что эти файлы не выполняются. В противном случае нет, grep не имеет опции --maximum-number-of-characters-per-line-to-count-as-a-match.

1

попробовать что-то вроде этого:

grep foo $(find -name '*.js' -exec file {} \; | grep -v "long lines" | sed 's/:.*//') 
  • find -name '*.js' находит все .js файлы в текущем каталоге и подкаталогах.

  • Добавление -exec file {} \; в команду find запускает команду file по каждому результату.

  • Результаты file подаются в grep, а файлы, перечисленные как имеющие длинные линии, удаляются из результатов.

  • Описание от file снято с sed, оставив только имена файлов. Это файлы grep будут искать «foo».