Fle*_*eea 5 macos bash file overwrite batch-processing
这似乎是非常基本的命令.然而,即使经过一个小时的搜索解决方案,我仍然找不到有用的东西.
所以我有两个大文件夹(包含许多文件和许多子文件夹,大型备份).我想将这两个文件夹合并到一个只包含较新文件的文件夹中.所以我正在寻找一种覆盖文件的方法,如果只有源文件比目标文件更新,或者当目标文件不存在时.
我正在运行Mac版本10.7.4.我愿意安装新的应用程序和/或使用terminal/bash命令.
Jam*_*at7 13
在Gnu系统中,仅当SOURCE文件比DEST文件更新或缺少目标文件时,才使用mv -u SOURCE DEST或cp -u SOURCE DEST移动或复制.
请注意,在OS X中,mv和cp不支持该-u选项.但是, rsync有一个-u选项,它在OS X上受支持.例如:
rsync -aru SOURCE/ DEST
Run Code Online (Sandbox Code Playgroud)
在将目录应用于大型和重要目录之前,先在临时目录中运行一些测试,因为(IMO)rsync对于目录名是否以a结尾是特殊的/.Linux手册页的一部分说:
源上的尾部斜杠更改此行为以避免在目标上创建其他目录级别.您可以将源尾部/尾部视为"复制此目录的内容",而不是"按名称复制目录",...