如何從不同的 URL 下載多個 XML 文件

如何從不同的 URL 下載多個 XML 文件

@slhck 為這個類似的問題提供了有用的答案。

使用 wget 和處理參數下載多個文件

提供此程式碼是為了從文字檔案讀取網址文件列表,然後運行循環來下載每個。

    #!/usr/bin/env bash 
    while read line 
      do   
        wget -c --load-cookies cookies.txt $line -O ${line##*/} 
    done < filelist

 

由於我不熟悉 shell 腳本,我想知道您是否可以透過以下方式下載多個 xml 檔案:

  • 創建一個簡單的逗號分隔文字文件文件列表
  • 閱讀自:

文件列表

returnedfile.xml,url-01.php
returnedFileDifferent.xml,url-02.php
SpecificFileRename.xml,“url-03”
newFilename.xml,“url-04”

  • 通讀每一行
  • 將行拆分為 newfile、remoteFile
  • 並運行:  

    wget -O newfile remoteFile >/dev/null 2>&1 
    

 

可以把這個寫在shell腳本中嗎?你能舉個例子嗎?

答案1

要獲取您使用的逗號之前的文字${line/,*}

(這實際上是替換“,*”或從逗號開始的所有文本空字串- 只保留逗號之前的字串部分)

要獲取逗號後面的文本,請使用${line/*,}.

所以完整的命令是:

while read line
  do
    wget -O ${line/,*} ${line/*,} >/dev/null 2>&1 
done < filelist

或者,在一行中:

while read line; do echo wget -O ${line/,*} ${line/*,} >/dev/null 2>&1; done < filelist

在 Windows 中(假設您已經安裝了 wget,從http://gnuwin32.sourceforge.net/packages/wget.htm,並正確設定你的路徑),它將是:

for /f "delims=, tokens=1*" %a in (filelist) do wget -O %a %b

相關內容