【发布时间】:2020-09-10 22:23:46
【问题描述】:
我需要通过保留文件的目录结构将文件从多个位置复制到 BACK UP 目录。例如,我在以下位置有一个文件“a.txt” /a/b/a.txt /a/c/a.txt a/d/a.txt a/e/a.txt,我现在需要将此文件从多个位置复制到备份目录 /tmp/backup。最终结果应该是:
当我列出 /tmp/backup/a --> 它应该包含 /b/a.txt /c/a.txt /d/a.txt & /e/a.txt。
为此,我使用了命令:echo /a/*/a.txt | xargs -I {} -n 1 sudo cp --parent -vp {} /tmp/backup.这是抛出错误“cp: cannot stat '/a/b/a.txt /a/c/a.txt a/d/a.txt a/e/a.txt': No such file or directory”
-I 选项从 echo 获取完整输入,而不是单个值(如 -n 1 那样)。如果有人可以帮助调试此问题,那将非常有帮助,而不是提供替代命令。
【问题讨论】:
-
为什么不用
cp -r递归复制呢?或者rsync如果目的地已经是最新的,可以加快速度?