grep警告:递归目录循环

kar*_*kir 4 grep

我正在递归地搜索某个位置,例如,/cygdrive/c/dev/maindir/dir/ 在该目录结构中有一个循环,即有一个.../maindir/dir/loopedDir/loopedDir指向的链接.../maindir/dir/loopedDir.

当我跑:

grep --exclude="/cygdrive/c/dev/maindir/dir/loopedDir/loopedDir" 'myPattern' -R /cygdrive/c/dev/maindir/dir/
Run Code Online (Sandbox Code Playgroud)

......它工作得很好,就像预期的那样,找到了我需要的东西.但是,我也收到警告:

grep: warning: /cygdrive/c/dev/maindir/dir/loopedDir/loopedDir: recursive directory loop
Run Code Online (Sandbox Code Playgroud)

......我想知道为什么会这样.dir排除不应该阻止这种特殊的循环发生吗?我应该如何修改我的查询以便不收到警告?

Cyr*_*rus 7

添加grep选项-s以禁止显示此错误消息和其他错误消息.

  • 警告消息不是困扰我的事情-消息背后的原因是。我不是要摆脱该消息,而是要找出导致该消息的原因-我想了解它为何以这种方式工作。尽管如此,还是有用的提示。 (2认同)