고급 Wget 사용법

고급 Wget 사용법

개별 파일에 대한 링크가 포함된 약 200개의 서버 목록이 있습니다. 이 질문에 대해서는 해당 서버가 .txt 파일인 것으로 가정하겠습니다. 모든 파일을 다운로드해야 하지만 일부 서버에는 압축 버전만 있고 원본은 없으며 일부 서버에는 두 가지 모두가 있으며 사용되는 압축은 bzip2입니다.

이는 서버에 다음 파일이 있을 수 있음을 의미합니다.

foo.txt.bz2
bar.txt
bar.txt.bz2

나는 wget에게 .txt 파일과 .txt.bz2 파일만 다운로드하라고 지시했으며 각 서버에서 동일한 파일이 다운로드되는 것을 방지하기 위해 no-clobber를 사용하고 있습니다. 그러나 압축 파일을 다운로드하면 압축이 풀립니다. 원본은 유지되지만 bz2 파일은 유지되지 않습니다. 이는 wget이 로컬에 압축된 버전이 없기 때문에 모든 단일 서버에서 동일한 bz2 파일을 다운로드한다는 것을 의미합니다.

wget에게 어떻게 말하나요?~ 아니다압축이 풀린 버전이 이미 있는 경우 .bz2 파일을 다운로드합니다(예: foo.txt가 이미 존재하는 경우 foo.txt.bz2를 다운로드하지 마세요).

감사해요

답변1

wget다음과 같이 명령을 연결합니다 .

wget http://example.com foo.txt || wget http://example.com/foo.txt.bz2 && bzip -d foo.txt.bz2

bzip -d명령은 아카이브의 압축을 풀지만 wget이 성공한 경우에만 가능합니다.

관련 정보