这似乎是非常基本的命令。然而,即使经过一个小时的搜索解决方案,我仍然无法找到有用的东西。
所以我有两个大文件夹(包含许多文件和许多子文件夹,大型备份)。我想将这两个文件夹合并到一个只包含较新文件的文件夹中。所以我正在寻找一种覆盖文件的方法,如果只有源文件比目标文件更新,或者当目标文件不存在时。
我正在运行Mac版本10.7.4。 我打开安装新应用程序和/或使用terminal / bash命令。
答案 0 :(得分: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
在将目录应用于大型和重要目录之前,先在暂存目录中运行一些测试,因为(IMO)rsync对于目录名是否以/
结尾是特殊的。 Linux手册页的一部分说:
源上的尾部斜杠会更改此行为,以避免在目标位置创建其他目录级别。您可以将源尾部/尾部视为“复制此目录的内容”,而不是“按名称复制目录”,...