Ho provato '-N' e '--no-clobber' ma l'unico risultato che ottengo è di recuperare una nuova copia dell'esempio.exe esistente con numero un numero aggiunto usando questo synax 'example.exe.1' . Questo non è quello che mi piacerebbe avere. Ho solo bisogno di scaricare e sovrascrivere il file example.exe nella stessa cartella in cui ho già salvato una copia di example.com senza che wget verifica se il mio è più vecchio o più recente rispetto al file su esempio.exe già presente nella mia cartella di download . Pensi che sia possibile o devo creare uno script che cancelli il file example.exe o qualcosa che cambi la sua data di modifica, ecc?Come forzare wget a sovrascrivere un file esistente ignorando il timestamp?
risposta
Se si specifica il file di output utilizzando l'opzione -O
, sovrascriverà qualsiasi file esistente.
Ad esempio:
wget -O index.html bbc.co.uk
eseguito più volte manterranno over-scrittura index.html.
wget
non consente di sovrascrivere un file esistente a meno che non si chiami esplicitamente il file di output sulla riga di comando con l'opzione -O
.
Sono un po 'pigro e non voglio digitare il nome del file di output sulla riga di comando quando è già noto dal file scaricato. Pertanto, io uso curl in questo modo:
curl -O http://ftp.vim.org/vim/runtime/spell/fr.utf-8.spl
Fare attenzione quando si scaricano file come questo da siti non sicuri. Il comando sopra scriverà un file chiamato come il sito web connesso vuole nominarlo (all'interno della directory corrente però). Il nome finale può essere nascosto tramite reindirizzamenti e script php o essere offuscato nell'URL. Potresti finire per sovrascrivere un file che non vuoi sovrascrivere.
E se si trova un file denominato ls
o qualsiasi altro nome allettante nella directory corrente dopo l'utilizzo di curl
in questo modo, astenersi dall'esecuzione del file scaricato. Potrebbe essere un trojan scaricato da un sito Web corrotto o danneggiato!
quindi, in pratica, non utilizzare questo metodo –
a meno che non ci si fidi del sito. Proprio come ha detto. I server – gbtimmon
wget --backups=1 google.com
rinomina file originale con .1
suffisso e scrive nuovo file al nome del file desiderato.
Non esattamente quello che è stato richiesto, ma potrebbe essere utile in alcuni casi.
Mi piace l'opzione -c. Ho iniziato con la pagina man e poi con il web ma l'ho cercato più volte. Ad esempio, se stai trasmettendo una webcam, l'immagine deve sempre essere denominata image.jpg. Sembra che dovrebbe essere più chiaro nella pagina man.
Sto usando questo per un paio di anni per scaricare le cose in background, a volte in combinazione con "Limite-rate =" nel mio file wgetrc
while true
do
wget -c -i url.txt && break
echo "Restarting wget"
sleep 2
done
Fai un po 'url.txt file chiamato e incolla l'URL del file in esso. Imposta questo script sul tuo percorso o magari come alias ed eseguilo. Continua a ritentare il download fino a quando non ci sono errori. A volte alla fine viene visualizzato il ciclo
416 Requested Range Not Satisfiable
The file is already fully retrieved; nothing to do.
ma questo è innocuo, basta ctrl-c it. Penso che abbia sempre ottenuto il file che volevo, anche se wget ha esaurito i tentativi o la connessione sparisce temporaneamente. Ho scaricato cose per giorni alla volta con esso. Un'immagine CD su dialup, sì, sempre con wget.
Il mio caso d'uso riguarda due URL diversi, a volte il secondo non esiste, ma se esiste, voglio che sovrascriva il primo file.
Il problema dell'utilizzo di wget -O è che, quando il secondo file NON esiste, sovrascrive il primo file con un file BLANK.
Quindi l'unico modo che ho trovato è con un'istruzione if:
controlli --spider se esiste un file, e restituisce 0 se lo fa
--quiet sicuro in silenzio, senza uscita
-nv è tranquilla, ma segnala ancora errori
wget -nv https://example.com/files/file01.png -O file01.png
# quietly check if a different version exists
wget --quiet --spider https://example.com/custom-files/file01.png
if [ $? -eq 0 ] ; then
# A different version exists, so download and overwrite the first
wget -nv https://example.com/custom-files/file01.png -O file01.png
fi
E 'prolisso, ma ho ritenuto necessario. Spero che questo sia utile per qualcuno.
- 1. Come forzare NLog a sovrascrivere il file di registro
- 2. Come sovrascrivere un metodo di estensione esistente
- 3. Come rinominare il file scaricato con wget?
- 4. Come sovrascrivere un file nell'app Chrome?
- 5. caricamento file jquery - come sovrascrivere il file NON rinominare
- 6. Aggiungi TimeStamp a un nome file
- 7. Come aggiungere timestamp a una tabella esistente con i timestamp di Ecto?
- 8. Rails: come aggiungere timestamp a un modello?
- 9. Come forzare corsa tutte le specifiche RSpec ignorando: tag attenzione
- 10. Come aggiungere un trigger a un controllo personalizzato WPF senza sovrascrivere lo stile esistente?
- 11. wget -O per percorso di salvataggio non esistente?
- 12. Come rendere PrintWriter sovrascrivere il vecchio file
- 13. Forza sovrascrivere Branch esistente manca TortoiseGit spinta dialogo
- 14. collegamento simbolico a un file non esistente
- 15. WGET senza il file di registro
- 16. Come sovrascrivere un file in Python?
- 17. Come aggiungere un timestamp a TFSBuild.proj?
- 18. Come forzare QtCreator a caricare un file pro.user?
- 19. JavaScript: aggiunta di un gestore onClick senza sovrascrivere quello esistente
- 20. Come forzare wget a saltare i collegamenti che portano agli elementi parent?
- 21. Come posso forzare il GDB a smontare?
- 22. Come sovrascrivere un file di testo da un file batch
- 23. Come forzare SciTE a ricaricare automaticamente un file?
- 24. Come forzare una creazione di collegamenti simbolici sovrascrivendo il collegamento simbolico esistente?
- 25. Come per aggiungere dati da SQL a un file esistente
- 26. Aggiunta di file a file zip esistente
- 27. Come forzare il ricaricamento del file php.ini?
- 28. php - Come forzare il download di un file?
- 29. Come posso ottenere setHeader per sovrascrivere un'intestazione esistente?
- 30. Come posso istruire Perforce a unire anziché sovrascrivere o ripristinare quando si cancella un file?
Tocca anche il file quando lo scarica (inclusa la prima volta), quindi il timestamp originale del file non verrà mantenuto così com'è quando non si utilizza l'opzione '-O'. – Synetech