コピー先よりも新しいファイルのみをコピーする


35

コピーするファイルがコピー先のバージョンよりも新しい場合にのみ、Linuxでファイルをコピーするにはどうすればよいですか?

宛先のファイルが新しい場合、ファイルのコピーを先に進めないようにします。

回答:



16

rsyncを使用する

rsync --progress -r -u /from/one/* /to/another/directory

3
完全を期すために:-rサブディレクトリへの再帰的な操作と-u、新しいファイルを宛先(= update)に保持することを意味します。--progress操作中に進捗情報を表示します。
ヨルクゴットシュリッチ

4

使用しているシェルを言っているわけではないので、次のように仮定しkshます。

if [[ file1 -nt file2 ]]; then cp file1 file2; fi

bashは最も一般的ではありませんか?
ロブ

@Rob、はい。これは明らかにbashでも機能します。書いたとき、bash(または標準のLinuxボックス)が手元になかった。
クサラナンダ

4

yes|cp -ruv /from/* /to/.
yes-すべての質問にyesと答えます。
r-再帰
u-更新
v-進行状況

xargsのように機能します。

学術的に説明する方法がわかりません。

確認なしでcpを強制的に上書きする方法


これは一種の不可解です。あなたの答えをもう少し明確に、おそらく例を含めて拡張できますか?ありがとう。 レビューから
fixer1234

はい->すべての質問に「はい」と答えます。
フェリッペシルベストル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.