好吧,这可能很愚蠢,但这真的很烦人。
我最近遇到了 find
的问题,我无法弄清楚问题出在哪里。基本上,我试图找到
一个名为bin
的文件夹,我知道它必须位于另一个名为lib
的文件夹中。为此,我使用以下命令。
find * -type d -wholename "lib/bin"
这有效地找到了我正在寻找的文件夹,但前提是我位于包含 lib
的目录中。如果我向上移动一个目录,即
cd..
上面的相同命令将返回任何内容。
我知道find
会自动递归搜索,所以我不明白为什么在第二种情况下它找不到我的目录。有什么想法吗?
最佳答案
顾名思义,-wholepath
匹配元素的全名。有关 -path
选项的说明,请参阅 man find
(这使得 -wholepath
已过时)。
你想要的是这样的:
find ./* -type d -path "*/lib/bin"
关于linux - UNIX find 命令的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26926916/