web-dev-qa-db-fra.com

Copier un fichier uniquement s'il est plus récent que la destination

Comment copier un fichier sous Linux uniquement lorsque le fichier en cours de copie est plus récent que la version de destination?

Si le fichier à la destination est plus récent, je souhaite que la copie du fichier ne continue pas.

33
Eli

Utiliser l'option de mise à jour (-u) avec cp devrait le faire pour vous.

http://beginnerlinuxtutorial.com/help-tutorial/basic-linux-commands/cp-linux-copy-command/

51
Dennis

Utilisez rsync

rsync --progress -r -u /from/one/* /to/another/directory
15
gnod

Vous ne dites pas quel Shell vous utilisez, alors je vais supposer ksh:

if [[ file1 -nt file2 ]]; then cp file1 file2; fi
4
Kusalananda

yes|cp -ruv /from/* /to/.
oui - Répondez oui à toutes les questions.
r - Récursif
u - mise à jour
v - Progrès

fonctionne comme xargs .

Je ne sais pas comment expliquer académiquement.

Comment forcer cp à écraser sans confirmation

3