파일이 이미 존재하는 경우에만 복사를 시도하고 존재하지 않는 경우에는 복사하지 않았습니다. 기본적으로 Linux에서는 덮어쓰기만 했습니다. 누구든지 해결책을 알고 있습니까?
기본적으로 폴더를 "찾아야" 하고 파일이 존재하면 대상에서 해당 폴더를 (재귀적으로) 덮어씁니다.
답변1
약간의 경쟁 조건이 있지만 다음과 같이 사용할 수 있습니다.
src=from.txt
dst=to.txt
[[ -f "$dst" ]] && cp -fp "$src" "$dst"
이 작업은 파일이 이미 존재하는지 확인하고, [[ ... ]]
존재하는 경우 &&
복사를 계속하도록 허용합니다 .
그렇다면 rsync
이 작업을 직접 수행할 수 있습니다( 플래그는 이미 존재하는 파일만 업데이트된다는 것을 --existing
나타냅니다 ).rsync
rsync --existing --archive "$src" "$dst"