Dr *_*eco 1 linux directory bash find
为什么这个命令有效:
/home/user1/tmp $ find ./../.. -wholename '.*/tmp/file.c' -exec echo '{}' \;
./../../user2/tmp/file.c
/home/user1/tmp $
Run Code Online (Sandbox Code Playgroud)
这个命令不起作用?(一无所获)
/home/user1/tmp $ find /home -wholename '.*/tmp/file.c' -exec echo '{}' \;
/home/user1/tmp $
Run Code Online (Sandbox Code Playgroud)
第一个命令生成以./../...开头的文件名.因此,整个名称模式将匹配,因为它们始于..
第二个命令生成以/home.开头的文件名.但是,整个名称模式仍然在寻找从.这种情况下的任何文件都不匹配的路径.
请注意,模式不是正则表达式.如果您期待它们,请查看该-regex选项.