首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ack(ack-grep)忽略嵌套目录

ack(ack-grep)忽略嵌套目录
EN

Stack Overflow用户
提问于 2014-12-08 00:03:08
回答 2查看 624关注 0票数 2

我用的是ubuntu 14.04。使用ack-grep 2.12递归地在目录内的文件中搜索文本

我想设置特定于~/workspace/project/目录的ack-grep选项,以便当我在路径~/workspace/project中执行ack 'mypattern‘时,它递归地在所有子目录和孙子目录中进行搜索,并在所有文件中进行递归搜索。并打印结果。此外,我有一些子目录和一些孙子目录,以忽略其中的所有文件。

目前,我有一个~/ .ackrc /.ackrc/.ackrc文件项目

我在哪里写的

代码语言:javascript
复制
  --ignore-directory=is:node_modules/
  --ignore-directory=is:public/bower_compoenents/

现在,当我搜索ack-grep 'hello‘时,它还会搜索我指示从.ackrc中忽略的所有目录

即使在.ackrc中使用此模式,它也会再次搜索被忽略的目录。(PS :这在mac os x编辑中很好用:可能是在一个旧版本的ack上)

代码语言:javascript
复制
  --ignore-dir=node_modules/
  --ignore-dir=public/bower_compoenents/

此外,到目前为止,这些方法都不起作用。

--ignore-dir=public/bower_components --ignore-dir=is:public/bower_components

我做错什么了吗?

编辑:查找要忽略嵌套目录中搜索的解决方案。(我不想在命令行执行ack-grep时提供任何特殊选项)

EN

回答 2

Stack Overflow用户

发布于 2014-12-08 00:51:06

引用自ack 2.12 manual

--无忽略目录=目录名,--无忽略目录=目录名

忽略目录(因为CVS、.svn等都被忽略)。可以多次使用来忽略多个目录。例如,mason用户可能希望包含--ignore-dir=data。--noignore-dir选项允许用户搜索通常会被忽略的目录(可能是为了研究.svn/props目录的内容)。

目录名必须始终是简单的目录名。不支持像foo/bar这样的嵌套目录。您需要指定--ignore-dir=foo,然后ack不会考虑任何foo目录中的文件,除非在命令行上显式指定。

因此,看起来您需要删除斜杠和嵌套目录。

你确定这能在你的另一台机器上工作吗?那台机器上的ack是什么版本的?

票数 1
EN

Stack Overflow用户

发布于 2016-05-31 18:47:24

如果您从"public“的父目录调用ack,--ignore-dir=public/bower_compoenents应该可以工作。然而,如果Ubuntu的ack版本是旧版本(比1.93_02更早?),这可能不起作用。下载更新的ack版本(我的是2.14)。

请参阅此线程:

Ignoring sub-directories in .ackrc

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27344546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档