2013-01-23 192 views
5

因此,我試圖創建一個別名/腳本使用wget從網站/目錄下載所有特定的擴展名,但我覺得必須有一個更簡單的方法我想到了什麼。使用WGET從網站/目錄下載所有.tar.gz文件

現在的代碼我從谷歌搜索和手冊頁想出是:

wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories http://download.openvz.org/template/precreated/ 
的例子

所以上面我試圖從下載所有的文件名爲.tar.gz OpenVZ預先創建的模板目錄。

上面的代碼可以正常工作,但我必須手動指定--cut-dirs = 2,它會切掉通常會創建的/ template/precreated /目錄結構,並且它還會下載robots.txt文件。

現在這不一定是一個問題,只是刪除robots.txt文件很容易,但我希望我錯過了手冊頁中的某些內容,這將允許我執行相同的操作,而無需指定目錄結構切出...

感謝您提前提供任何幫助,非常感謝!

回答

6

使用-R選項

-R robots.txt,unwanted-file.txt 

作爲您不想要的文件的拒絕列表(以逗號分隔)。

至於腳本這樣的:

URL=http://download.openvz.org/template/precreated/ 
CUTS=`echo ${URL#http://} | awk -F '/' '{print NF -2}'` 
wget -r -l1 -nH --cut-dirs=${CUTS} --no-parent -A.tar.gz --no-directories -R robots.txt ${URL} 

應該工作基礎上在URL中的子目錄。

2

我建議,如果這是真的很煩,你就不必做了很多,只寫一個非常短的兩行腳本來刪除帳戶:

wget -r -l1 -nH --cut-dirs=2 --no-parent -A.tar.gz --no-directories http://download.openvz.org/template/precreated/ 
rm robots.txt 
+0

是的,但我想創建一個bash腳本,我可以提供網站的網址,並讓它做剩下的...所以在本質上,sh dl.sh tar.gz,它會下載所有.tar 。廣州 – sMyles