【发布时间】:2012-05-09 22:26:52
【问题描述】:
有没有办法告诉 ack/grep 忽略缩小的 Javascript?这些文件每行有数千个字符,并且会破坏搜索输出。
【问题讨论】:
有没有办法告诉 ack/grep 忽略缩小的 Javascript?这些文件每行有数千个字符,并且会破坏搜索输出。
【问题讨论】:
ack 1.x 无法直接忽略缩小的 javascript。这将在 ack 2.0 中解决。我们正在http://github.com/petdance/ack2 处理它。
【讨论】:
试试这样的:
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”的文件。
【讨论】:
取决于您是否可以以某种方式指示应排除哪些文件。例如,如果您遵循.min.js 约定,那么只需确保不搜索这些文件就很简单了。
否则不行,grep 没有--maximum-number-of-characters-per-line-to-count-as-a-match 选项。
【讨论】: