考虑这个例子:
touch test0
touch timestamp
touch test1
sudo find /var/www/import -iname 'test*' -newer timestamp -exec cp {} new \;
Run Code Online (Sandbox Code Playgroud)
它实际上复制文件 test1,但它返回消息:
touch test0
touch timestamp
touch test1
sudo find /var/www/import -iname 'test*' -newer timestamp -exec cp {} new \;
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
第二个问题,我可以在这个命令中使用“+”,以便将文件复制到一个“包”中吗?有成千上万的文件!
rus*_*ush 12
我究竟做错了什么?
没关系。find找到已复制的文件new并尝试再次复制它们,因此会显示警告消息。
我可以在这个命令中使用“+”,以便将文件复制到一个“包”中吗?有成千上万的文件!
是的,但您需要以这种方式修改您的命令:
find /var/www/import -iname 'test*' -newer timestamp -exec cp -t new {} +
Run Code Online (Sandbox Code Playgroud)
因为{}在这种情况下必须在 exec 语句的末尾。