ファイルがすでに存在する場合にのみコピーを試み、存在しない場合はコピーしませんでした。デフォルトでは、Linuxでは上書きのみしました。誰もが解決策を知っていますか?
デフォルトでは、フォルダを「検索する」必要があり、ファイルが存在する場合は、ターゲットはそのフォルダを(再帰的に)上書きします。
答え1
いくつかの競争条件がありますが、次のように使用できます。
src=from.txt
dst=to.txt
[[ -f "$dst" ]] && cp -fp "$src" "$dst"
これにより、ファイルがすでに存在することを確認し、[[ ... ]]
存在する場合は&&
コピーを続行できます。
その場合はrsync
、これを直接実行できます(フラグは、すでに存在するファイルのみが更新されることを--existing
示します)。rsync
rsync --existing --archive "$src" "$dst"