wget - 다운로드 실패 시 파일을 덮어쓰지 않음

wget - 다운로드 실패 시 파일을 덮어쓰지 않음

파일을 다운로드한다고 상상해보십시오.~/img.txt

wget https://picsum.photos/200 -O ~/img.jpg

이미지 파일이 저장됩니다. 이제 다시 시도했지만 URL이 잘못되었다고 가정해 보겠습니다.

wget https://picsum.photooooooos/200 -O ~/img.jpg

그러면 파일이 삭제/비워집니다.

URL이 404를 반환하거나 다운로드에 오류가 있는 경우 파일 덮어쓰기를 방지하려면 어떻게 해야 합니까?

답변1

다음과 같이 언제든지 임시 파일을 사용할 수 있습니다.

outFile=img.jpg

# create temporary file in /tmp and store its name in tmpFile
tmpFile=$(mktemp)

if wget https://picsum.photos/200 -O "$tmpFile"; then
   mv -f "$tmpFile" "$outFile" || echo could not replace "$outfile" >&2
else
   echo wget failed with $? >&2
fi
rm -f "$tmpFile"

관련 정보