我正在尝试查找比某些日期早的文件,并且我想将文件复制到特定文件夹,并在单个命令中从源目录中删除文件。
find . -type d -mtime +600 -exec cp -rf '{}' destination folder \; -exec rm -rf '{}' \;
错误:
find: ./one: No such file or directory
find: ./two: No such file or directory
find: ./three: No such file or directory
如何解决错误?
答案 0 :(得分:0)
尝试类似:
find . -type d -mtime -600 -exec cp -rf '{}' destination_folder \; -delete
或者,您甚至可以使用
find . -type d -mtime -600 -print0 -exec cp -rf '{}' destination_folder \; | xargs -0 rm -rf
答案 1 :(得分:0)
我不太确定你为什么要cp
和rm
,而不是更快mv
?
但是,你可以在很大程度上忽略该错误,find
预处理树的一部分,如果你想强制它忽略删除的子目录add -prune
(你可能应该引用{{1} }})
destination dir
find . -type d -mtime +600 -exec cp -rf '{}' 'destination folder' \; -exec rm -rf '{}' \; -prune