2013-01-23 10 views
5

Quindi sto tentando di creare un alias/script per scaricare tutte le estensioni specifiche da un sito Web/directory utilizzando wget ma mi sembra che ci sia un modo più semplice di quello che ho trovato.Scarica tutti i file .tar.gz dal sito web/directory utilizzando WGET

In questo momento il codice che è venuta in mente di cercare le pagine di Google ed è:

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

Così, nell'esempio di cui sopra che sto cercando di scaricare tutti i file .tar.gz dalla Directory dei modelli precostruiti OpenVZ.

Il codice precedente funziona correttamente, ma devo specificare manualmente --cut-dirs = 2, che avrebbe tagliato fuori la struttura///directory dei modelli precreated che normalmente sarebbero creato e si scarica anche il file robots.txt.

Ora questo non è necessariamente un problema ed è facile rimuovere semplicemente il file robots.txt ma speravo di essermi perso qualcosa nelle pagine man che mi avrebbe permesso di fare le stesse cose senza specificare la struttura della directory in ritagliare ...

Grazie per l'aiuto in anticipo, è molto apprezzato!

risposta

6

Utilizzare il -R opzione

-R robots.txt,unwanted-file.txt 

come elenco di rifiuti di file che non si desidera (separati da virgola).

Per quanto riguarda lo scripting questo:

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} 

che dovrebbe funzionare sulla base delle sottodirectory tuo URL.

2

Vorrei suggerire, se questo è davvero fastidioso e hai a che fare un sacco, di scrivere solo un breve script davvero a due righe per eliminarlo per voi:

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

Sì, ma sto provando a creare uno script bash che posso solo alimentare l'URL del sito e farlo fare il resto ... quindi, in sostanza, sh dl.sh tar.gz, e scaricherà tutto .tar .gz – sMyles

Problemi correlati