小编Hei*_*ein的帖子

有没有办法从 grep 递归搜索中排除由指向该目录的路径指定的嵌套子目录?

或者我必须使用ackfind为此?

这就是我想要的。假设我有这个目录结构:

dir/nesteddir/match.txt
otherdir/nesteddir/match.txt
Run Code Online (Sandbox Code Playgroud)

如何仅排除第一个nesteddir?甚至可以使用grep吗?最明显的答案$ grep -r --exclude-dir="dir/nesteddir" "stringToFind" .似乎不起作用,我--exclude-dir使用 globbing、leading./等对各种路径进行的任何实验也不起作用。

阅读手册页和谷歌搜索没有帮助,我发现的这个用例的唯一提及是这个问题:grep --exclude-dir行为:错误或功能?

结论是这是 grep 2.12 中引入的错误,但我使用的是最新版本 (2.16) 和 grep 的错误跟踪器 ( https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep ) 没有提到与 相关的任何事情--exclude-dir,所以我想它要么是固定的,要么是预期的行为。

得到一些澄清真的很好。

grep filenames

3
推荐指数
1
解决办法
1543
查看次数

标签 统计

filenames ×1

grep ×1