gpt4 book ai didi

linux - 使用 grep 排除目录

转载 作者:太空宇宙 更新时间:2023-11-04 11:45:46 26 4
gpt4 key购买 nike

我刚试过:

michael@Pascal:~/noisynet$ sudo grep -rio --exclude-dir={/ece,/home/michael/pytorch,/sys,/proc} 'hello' /

第一个匹配项是:

/home/michael/pytorch/.git/logs/HEAD:hello

为什么它在 /home/michael/pytorch 中查找?

最佳答案

这会很好用

grep -rio --exclude-dir={ece,pytorch,sys,proc} 'hello' /

注意:这也将排除具有相同名称的其他目录。

解释:

grep 的手册页给出了以下片段

   --exclude-dir=GLOB
Skip any command-line directory with a name suffix that matches the pattern GLOB. When
searching recursively, skip any subdirectory whose base name matches GLOB. Ignore any
redundant trailing slashes in GLOB.

这意味着给定的模式 (GLOB) 将仅应用于目录的实际名称,并且由于目录名称不包含/在其名称中,像/proc 这样的模式永远不会匹配。

因此,我们需要使用 --exclude-dir=proc 或 --exclude-dir=sys(或 --exclude-dir={proc,sys}) 只是目录的名称没有'/'被排除。

关于linux - 使用 grep 排除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57813800/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com