2013-05-05 4 views
19

Voglio usare wget in modo che il mio file prenda il nome che voglio. Ad esempio, se faccio wget -r http://www.x.com/y/z, il file principale sarà denominato z, anche se in realtà è index.html.wget specifica il nome del file scaricato e nessun altro file

ho controllato la possibilità -O di wget, ma secondo il manuale:

‘-O file’ 
‘--output-document=file’ 
The documents will not be written to the appropriate files, but all will be concatenated together and written to file. ... 

Sembra che tutti i file verranno concatenati e scritti nel file del nome desiderato. Vorrei solo concatenare il file principale (e non tutti i file risultanti dalla ricorsione). Come lo posso fare?

+1

non so che cosa si intende per "Vorrei solo il file principale di essere concatenati". –

+0

In definitiva, il server Web è quello che decide cosa inviare a seconda dell'URL in entrata, quindi non esiste una soluzione assoluta a questo. –

risposta

35

lasciare fuori il -r se desideri solo file principale :

wget -O customFileName http://www.x.com/y/z 

wget non supporta la ridenominazione solo un file di un download ricorsivo. Ricordare che i nomi dei file corrispondono a parti dell'URL e la ridenominazione del file interromperà i collegamenti tra i file. Si può sempre o spezzarlo in due:

wget -O customFileName http://www.x.com/y/z 
wget -r http://www.x.com/y/z 

o semplicemente rinominare il file da soli:

wget -r http://www.x.com/y/z 
mv z customFileName 
+0

Voglio tutti i file. –

+0

@PaulS. Ho aggiunto alcune altre opzioni. –

3

Try aggiungendo un / alla fine dell'URL:

$ wget -r http://www.x.com/y/z/ 

Ciò si traduce in un file index.html viene salvato invece di un file z

+0

Okay ... ma è possibile scegliere un nome di file che voglio? –

+2

Da "man wget': --default-page = nome: utilizza il nome come nome file predefinito quando non è noto (ad es., Per gli URL che terminano con una barra), invece di index.html. –

0

Da quello che ho capito si desidera concatenare il file che i punti di server e scaricare tutti i file in un posto in modo ricorsivo sul sito.

concatenate:

wget -qO- http://www.google.com 

scaricare ricorsivo a un unico luogo:

wget --mirror -p --convert-links -P ./LOCAL-DIR http://www.google.com 

Dove LOCAL-DIR è quella directory tutte le directory verranno scaricati. Da questo sito:

http://www.thegeekstuff.com/2009/09/the-ultimate-wget-download-guide-with-15-awesome-examples/