![将mp3复制到目标目录保持目录结构并在复制完成后删除文件](https://linux22.com/image/37484/%E5%B0%86mp3%E5%A4%8D%E5%88%B6%E5%88%B0%E7%9B%AE%E6%A0%87%E7%9B%AE%E5%BD%95%E4%BF%9D%E6%8C%81%E7%9B%AE%E5%BD%95%E7%BB%93%E6%9E%84%E5%B9%B6%E5%9C%A8%E5%A4%8D%E5%88%B6%E5%AE%8C%E6%88%90%E5%90%8E%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6.png)
在这里找到了复制文件和保留目录结构的答案。
find . -name '*.xxx' -exec cp -iv --parents -t /path/to/target_dir {} +
有没有一种简单的方法来维护复制文件的列表并从源目录中删除文件?
答案1
“从源目录中删除文件”通常翻译为mv
.不幸的mv
是没有像这样的选项--parent
。最简单的解决方案cp
可能是:cp
为每个文件调用一次。效率低但易于编码:
find . -type f \
-name '*.xxx' -exec cp -iv --parents {} /path/to/target_dir \; -delete
cp
如果退出成功则文件被删除。-delete
可能是 GNU 特有的find
。