2011-02-09 3 views

risposta

192

provare il seguente parametro:

-nc, --no-clobber: saltare download che scaricherebbe a file esistenti.

utilizzo Esempio:

wget -nc http://example.com/pic.png 
+16

'-nc' non impedisce l'invio della richiesta HTTP e il successivo download del file. Semplicemente non fa nulla dopo aver scaricato il file se il file è già stato completamente recuperato. Esiste comunque la possibilità di impedire la richiesta HTTP se il file esiste già? http://stackoverflow.com/questions/33203898/wget-skip-download-if-file-already-exists – ma11hew28

+5

Come indicato nella domanda collegata, non sono d'accordo - Se non viene utilizzato nessun clobber e il nome del file esiste, viene chiuso. Nessuna richiesta HEAD nemmeno. Anche se così non fosse, controlla se hai un file con cui iniziare :-) '[! -e "$ (basename $ URL)"] && wget $ URL' – plundra

+1

Penso che potrei ottenere risultati diversi perché sto usando l'opzione '--recursive'. – ma11hew28

18

Eseguendo Wget con -r o -p, ma senza -N, -nd o -nc, ri-scaricare un file comporterà la nuova copia semplicemente sovrascrivendo il vecchio.

Quindi l'aggiunta di -nc impedirà questo comportamento, causando invece la versione originale da conservare e le eventuali copie più recenti sul server da ignorare.

See more info at GNU.

134

L'opzione -nc, --no-clobber non è la soluzione migliore in quanto i file più recenti non verranno scaricati. Si dovrebbe usare -N invece che scaricare e sovrascrivere il file solo se il server dispone di una versione più recente, quindi la risposta corretta è:

wget -N http://www.example.com/images/misc/pic.png 

Poi esecuzione Wget con -N, con o senza -r o -p, la decisione se scaricare o meno una copia più recente di un file dipende dalla data e ora locale e remota e dalla dimensione del file. -nc non può essere specificato nello stesso tempo come - N.

-N, --timestamping: Attiva marcatura temporale.

+26

Quando il server non è configurato correttamente '-N' potrebbe fallire e wget scaricherà sempre di nuovo. Quindi a volte '-nc' è la soluzione migliore. – user

+1

quale potrebbe essere lo scenario applicabile in cui "Quando il server non è configurato correttamente" si verificherebbe? – AjayKumarBasuthkar

+0

quando si esegue il download da una posizione che è stata copiata, cambiando tutti i timestamp. – Robert