'find'(命令)找不到-wholename

时间:2015-06-13 16:31:29

标签: linux bash directory find

为什么这个命令有效:

/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 $

1 个答案:

答案 0 :(得分:5)

第一个命令生成以./../..开头的文件名。因此,整个名称模式将匹配,因为它们以.开头。

第二个命令生成以/home开头的文件名。但是,整个名称模式仍在查找以.开头的路径,在这种情况下,这些路径将与任何文件都不匹配。

请注意,模式是不是正则表达式。如果您期待它们,请改为使用-regex选项。