为什么这个命令有效:
/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 $
答案 0 :(得分:5)
第一个命令生成以./../..
开头的文件名。因此,整个名称模式将匹配,因为它们以.
开头。
第二个命令生成以/home
开头的文件名。但是,整个名称模式仍在查找以.
开头的路径,在这种情况下,这些路径将与任何文件都不匹配。
请注意,模式是不是正则表达式。如果您期待它们,请改为使用-regex
选项。