假设我有一个文件夹,其中包含如下文件:
.
|__ components
| |__ index.js
| |__ _index.js
| |__ _index.en.js
|
|__ _.js
我想要的是components/index.js
和_.js
搜索并忽略所有components/_*.js
文件。
基本上,我需要像 ack 的 --ignore-file=match:_.*.js
这样的东西,但也需要一个也支持文件路径的版本。
在 ack 2 中可能吗?
不幸的是,ack
对忽略子目录中的某些文件没有任何直接支持。
另一种选择是将ack
与grep
结合使用,如下所示:
ack -f | grep -v -x 'components/_.*.js' | ack -x mystr
解释一下:
ack -f
打印选定的文件,而不实际搜索。
grep -v -x 'components/_.*.js'
匹配不包含components
目录下的_.*.js
文件的行。
然后ack -x
读取要从grep
搜索的文件列表。
当然,您可以使用 grep
定制要忽略的目录。