2009-02-11 37 views
0

我有一個巨大的文件,有很多鏈接到各種類型的文件下載。每一行是一個下載命令,如:wget錯誤破解shell腳本 - 如何防止這種情況?

wget的 'URL1'

wget的 'URL2'

...

,有上千種之多的。

不幸的是一些URL看起來非常醜陋,例如: http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc 它在瀏覽器中打開確定,但會混淆wget。

我得到一個錯誤:

./tasks001.sh:http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc '第35行:附近意外的標記'1' :行35'wget的

./tasks001.sh' 語法錯誤'

我試過指定要下載的URL和'URL'方法。

有沒有辦法讓這樣的腳本無人值守? 我很好,如果它只是跳過它無法下載的文件。

回答

1

我認爲你需要使用周圍的URL雙引號(「),而不是單引號(')。

如果仍然無效,請嘗試用反斜槓轉義字符括號和()\(\)

哪個殼您正在使用的zsh猛砸

+0

謝謝你,看起來像它的作品。 :) – user63503 2009-02-11 06:41:15

0

這並不完全回答你的問題,但:???

無論是FOL的降脂命令在bash shell直接運行:

wget "http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc" 

wget 'http://www.cepa.org.gh/archives/research-working-papers/WTO4%20(1)-charles.doc' 

你可以檢查,看看如果任這些工作的嗎?

0

什麼似乎是發生的是,你的shell是做與(字符的東西。我會嘗試使用在你的URL雙引號「,而不是單引號'。

如果你想壓制的錯誤,你可以使用一>的/ dev/null的UNIX下重定向標準輸出或2>的/ dev/null的重定向標準誤差。在其它操作系統下它可能是別的東西。

6

不要(AB)使用外殼。

保存你的網址到一些文件(比如說my_urls.lst),然後:

wget -i my_urls.lst 

Wget會處理自己的報價等

相關問題