2016-03-02 115 views
0

可以说,我有类似下面的文件的文件夹:有没有办法使用ack忽略文件路径?

. 
|__ components 
| |__ index.js 
| |__ _index.js 
| |__ _index.en.js 
| 
|__ _.js 

我要的是在components/index.js_.js搜索和忽略所有的components/_*.js文件。

基本上我需要类似ack的--ignore-file=match:_.*\.js,但也支持文件路径的版本。

在ack 2中可能吗?

回答

0

不幸的是,ack没有直接支持忽略子目录中的某些文件。

另一种选择是ackgrep的东西,如下面的结合:

ack -f | grep -v -x 'components/_.*\.js' | ack -x mystr 

为了解释:

ack -f打印选择的文件,而无需实际搜索。

grep -v -x 'components/_.*\.js'比赛线路是包含components目录下的文件_.*\.js

ack -x然后从grep读取要搜索的文件列表。

当然,您可以使用grep来修改要忽略的目录。

+0

这是不够的,因为我只想在'components'文件夹中忽略这些家伙。 – chestozo

+1

我的意思是我的例子在描述中被简化了。问题是,是否可以忽略文件名而不是文件路径。 – chestozo

+0

@chestozo我已经完全修改了我的答案,以显示将'ack'与'grep'结合的示例。 –

相关问题