所以我嘗試下載一堆文件使用下面的命令:如何使用curl在一個範圍內下載文件並分配自定義文件名?
curl -O http://example.com/[1-100]/test.json
它將所有文件保存爲test.json,有沒有指定動態文件名中的每個文件的任何方式範圍?
謝謝!
傑森
所以我嘗試下載一堆文件使用下面的命令:如何使用curl在一個範圍內下載文件並分配自定義文件名?
curl -O http://example.com/[1-100]/test.json
它將所有文件保存爲test.json,有沒有指定動態文件名中的每個文件的任何方式範圍?
謝謝!
傑森
試試這個:
for i in $(seq 1 100)
do
curl -o "test.$i.json" "http://example.com/$i/test.json"
done
捲曲手冊頁是相當廣泛的,它有各種各樣的選擇。您可以在http://curl.haxx.se/docs/manpage.html
檢查它根據文檔:https://curl.haxx.se/docs/manpage.html
-o,--output
輸出寫入的,而不是標準輸出。如果您使用{}或[]獲取多個文檔,則可以在說明符中使用後跟數字的'#'。該變量將替換爲正在獲取的URL的當前字符串。
這樣你就可以使用#n
佔位
curl http://example.com/[1-100]/test.json -o response_#1.json
其中#1
捲曲將會把當前的重複
感謝新文件合併自定義文件名!但是,根據手冊頁中的這一行:「curl會嘗試重複使用多個文件傳輸的連接,以便從同一臺服務器獲取多個文件不會進行多次連接/握手,這可以提高速度。只能在單個命令行上指定的文件上完成,並且不能在單獨的curl調用之間使用「,如果一次執行該操作,它將重新使用連接,但如果使用多個命令則不會執行優化。這就是爲什麼我問是否有使用單個命令的方式 – FurtiveFelon 2014-11-24 16:42:31