我的文件夹结构如下所示:
/app
/app/data
...
/app/secondary
/app/secondary/data
我想递归搜索/app
,包括/app/data
。但我不想搜索/app/secondary/data
。这到目前为止:
ack --ignore-dir=data searchtext
ack --ignore-dir=secondary/data searchtext
第一个命令忽略了这两个目录,第二个命令忽略了这两个目录。从app文件夹中,我的ack命令应该是什么样子?
发布于 2018-05-29 16:26:32
适用于我:
ack -a searchtext -G '^(?!.*secondary/data.*).*$'
而不是-a搜索所有文件,请参阅ack-grep --help = types仅搜索某些文件类型,例如--type = text
发布于 2018-05-29 17:47:28
旧版本的ack只能使用文件夹名称,而不能使用文件夹路径。从版本1.93_02开始,他们在以下方面增加了这项功能:
1.93_02 Wed Oct 6 21:39:58 CDT 2010 [ENHANCEMENTS] The --ignore-dir option now can ignore entire paths relative to your current directory. Thanks to Nick Hooey. For example:
ack --ignore-dir=t/subsystem/test-data
可以检查版本--version
:
ack --version
https://stackoverflow.com/questions/-100000129
复制相似问题