【发布时间】:2017-05-03 11:27:08
【问题描述】:
示例:merge dirA/ dirB/ dirDEST/
必须将 dirA 和 dirB 中的所有现有文件(不是目录)移动到 dirDEST。如果两个同名文件同时出现在 dirA 和 dirB 中,则移动到 dirDEST 的文件必须是最近修改的文件,另一个必须保留在源目录中。
当我有来自 dirA 和 dirB 的列表文件(例如 find /dirA -type f 和 find dirB/ -type f)时,我如何比较 e 选择正确的文件并使用 mv 移动?
比较我可以使用的文件的修改时间:
if [ "$file1" -ot "$file2" ]; then
...
fi
【问题讨论】:
-
不要重新发明轮子。谷歌“rsync”
-
@fancyPants rsync 的哪个选项实现了合并?
标签: bash shell command-line