55 votes

Copie d'un fichier uniquement lorsqu'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 à destination ?

Si le fichier de destination est plus récent, je veux que la copie du fichier ne soit pas effectuée.

71voto

ebruchez Points 2800

L'utilisation de 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/

26voto

ng.newbie Points 143

Utilice rsync

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

8voto

Kusalananda Points 2143

Tu ne dis pas quel Shell tu utilises, donc je vais supposer que ksh :

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

4voto

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

fonctionne comme xargs .

Je ne sais pas comment expliquer de manière académique.

Comment forcer cp à écraser sans confirmation

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X