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 成功。

相關內容