如何 ack-grep 排除文件类型 *.sql 文件或大于 >3MB 的文件?

Pat*_*パトシ 9 grep ack

我想在我的目录中搜索文件中的“foo”,但我有这些巨大的 sql 文件。如何使用 ack-grep 排除这些文件类型或大于 3MB 的文件?另外,这将如何用 grep 完成?

meu*_*euh 12

根据ack doc 和手册页,您可以通过使用--ignore-file=filter来忽略具有特定扩展名的文件,其中filterfiltertype:filterargs。其中的filtertypesext用于文件扩展名。所以试试

--ignore-file=ext:sql
Run Code Online (Sandbox Code Playgroud)

或者由于 sql 是内置类型之一,您可以使用

--nosql
Run Code Online (Sandbox Code Playgroud)


Mun*_*nir 5

我不知道,ack-grep但您可以find用来排除大于 3MB 的文件。

find . -size -3M -exec grep "foo" {} \;
Run Code Online (Sandbox Code Playgroud)