2012-05-09 17 views

回答

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”的文件。