BSD 命令“mv”中选项“--update”的替代方案

BSD 命令“mv”中选项“--update”的替代方案

我正在读一本书“Linux Command Line”,
-u命令mv和“cp”的更新选项

-u, --update 将文件从一个目录移动到另一目录时,仅移动不存在或比目标目录中现有对应文件新的文件。

BSD 'mv' 命令中不包含该选项。

有什么替代选项--update

答案1

您可以使用rsync而不是mv组合这两个选项:

-u, --update                skip files that are newer on the receiver
--remove-source-files       sender removes synchronized files (non-dir)

答案2

BSD 的替代方案是

[ "$target" -nt "$source" ] || mv "$source" "$target"

这会执行mvif$target不存在,或者它不比 更新$source

相关内容