Filenames
wget 從文件列表中下載文件,如何為每個下載的文件指定名稱?
當下載單個文件時,我們可以使用 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.jpg
as2.jpg
?編輯
我知道我可以使用簡單的腳本或文本操作技術來創建多個 wget 命令,每個命令都下載一個 Url 並寫入輸出文件。我還沒有測試過,但這對我來說似乎更慢,我想知道是否有任何方法可以使用單個 wget 程序下載所有文件。
您不能僅在一次 Wget 呼叫中做到這一點。這源於 Wget
-O
選項的定義,它不僅僅意味著保存文件的名稱,而是標準輸出的 shell 重定向。如果伺服器上所有文件的名稱都不同,那麼您仍然可以通過在一次 Wget 呼叫中下載所有文件然後使用 shell 腳本重命名它們來相當快速地完成此操作。
你是對的,多次呼叫 wget 會很慢。程序啟動和拆除是一方面,但需要為每個文件與伺服器建立新的 HTTP 連接會很快加起來