为什么这个命令有效:
/home/user1/tmp $ find ./../.. -wholename '.*/tmp/file.c' -exec echo '{}' \;
./../../user2/tmp/file.c
/home/user1/tmp $
这个命令不起作用? (一无所获)
/home/user1/tmp $ find /home -wholename '.*/tmp/file.c' -exec echo '{}' \;
/home/user1/tmp $
最佳答案
第一个命令生成以 ./../..
开头的文件名。因此全名模式将匹配,因为它们以 .
.
第二个命令生成以 /home
开头的文件名。然而,wholename 模式仍在寻找以 .
开头的路径,在这种情况下它不会匹配任何文件。
请注意,模式不是正则表达式。如果您期待它们,请改为查看 -regex
选项。
关于linux - 'find'(命令)用 -wholename 找不到任何东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30820977/