5

有没有办法告诉 ack/grep 忽略缩小的 Javascript?这些文件每行有数千个字符,并且会破坏搜索输出。

4

3 回答 3

4

ack 1.x 没有办法直接忽略缩小的 javascript。这将在 ack 2.0 中解决。我们正在http://github.com/petdance/ack2上处理它。

于 2012-06-05T17:04:48.457 回答
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”的文件。

于 2012-05-09T22:44:21.000 回答
0

取决于您是否可以以某种方式指示应排除哪些文件。例如,如果您遵循.min.js约定,那么只需确保不搜索这些文件就很简单了。否则不,grep 没有--maximum-number-of-characters-per-line-to-count-as-a-match选项。

于 2012-05-09T22:33:37.307 回答