Filenames

wget 從文件列表中下載文件,如何為每個下載的文件指定名稱?

  • May 7, 2019

當下載單個文件時,我們可以使用 wget 的-O選項來指定文件名。當我使用wget -i filelist.txt(filelist.txt 包含我要下載的 URL 列表)下載文件中的 Urls 時,如何構造 filelist.txt 以便在下載每個文件時對其進行重命名?

對於 Ex,如果 filelist.txt 包含以下內容:

--output-document=1.jpg http://images2.example.com/image1.jpg
--output-document=2.jpg http://images2.example.com/image2.jpg

是否可以下載image1.jpg並另存為1.jpg, image2.jpgas 2.jpg


編輯

我知道我可以使用簡單的腳本或文本操作技術來創建多個 wget 命令,每個命令都下載一個 Url 並寫入輸出文件。我還沒有測試過,但這對我來說似乎更慢,我想知道是否有任何方法可以使用單個 wget 程序下載所有文件。

您不能僅在一次 Wget 呼叫中做到這一點。這源於 Wget-O選項的定義,它不僅僅意味著保存文件的名稱,而是標準輸出的 shell 重定向。

如果伺服器上所有文件的名稱都不同,那麼您仍然可以通過在一次 Wget 呼叫中下載所有文件然後使用 shell 腳本重命名它們來相當快速地完成此操作。

你是對的,多次呼叫 wget 會很慢。程序啟動和拆除是一方面,但需要為每個文件與伺服器建立新的 HTTP 連接會很快加起來

引用自:https://unix.stackexchange.com/questions/517445