BSDコマンド「mv」の「--update」オプションの代替

BSDコマンド「mv」の「--update」オプションの代替

「Linux Command Line」の本を読んでいますが、「cp」のコマンドと更新されたオプションが
あります。-umv

-u、--updateあるディレクトリから別のディレクトリにファイルを移動すると、ターゲットディレクトリに存在しないか、既存のファイルよりも最新のファイルのみが移動されます。

このオプションはBSD 'mv'コマンドには含まれていません。

代替案は何ですか--update

答え1

あなたはそれを使用することができますrsyncmvこれら2つのオプションを組み合わせる代わりに:

-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"

存在しない場合、またはそれよりも最新でないmv場合は、これを行うことができます。$target$source

関連情報