我正在尝试在整个服务器中搜索字符串,同时使用ack排除dev /( - R).到目前为止我有
sudo ack -i --ignore-dir=dev * foo
--version ack v1.39
Run Code Online (Sandbox Code Playgroud)
但是我收到了一个错误.我哪里错了?
欢迎任何有关此事的帮助或建议
And*_*ter 10
首先,每当您说"我收到错误"时,请将其更改为"我收到以下错误",然后告诉我们错误是什么.该错误对于我们能够帮助诊断问题非常重要.
其次,您使用的ack版本非常陈旧.最新的是1.96.
第三,你的论点乱序.你正在寻找"foo",对吧?然后你应该做"ack foo*",而不是"ack*foo".
您不应该为文件名指定"*".让ack为您找到文件.如果"dev"是你正在调用的目录中的一个目录,那么"ack*"将扩展为"ack dev [other directories]",它明确告诉ack在"dev"目录中搜索,这将覆盖--ignore-dir指示.
你应该做的是:
ack -i --ignore-dir=dev foo
Run Code Online (Sandbox Code Playgroud)
然后你让ack做文件查找.如果由于某种原因必须覆盖ack正在查找的文件,则只应在命令行上指定文件名.
最后,你可能首先不应该使用ack来完成这项任务.ack专门用于搜索源代码,它不会搜索不考虑源代码的文件.如果您正在搜索整个服务器,那么您可能也想要搜索非源代码文件,对吧?使用grep来做到这一点.
| 归档时间: |
|
| 查看次数: |
1904 次 |
| 最近记录: |