Copiar un archivo solo cuando es más nuevo que el destino


36

¿Cómo copio un archivo en Linux solo cuando el archivo que se copia es más nuevo que la versión en el destino?

Si el archivo en el destino es más nuevo, quiero que la copia del archivo no continúe.

Respuestas:



17

Use rsync

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

3
Solo para completar: -rsignifica operación recursiva en subdirectorios y -upara mantener los archivos más nuevos en el destino (= actualización). --progressmuestra información de progreso durante la operación.
Jörg Gottschlich

6

No estás diciendo qué shell estás usando, así que voy a suponer ksh:

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

¿No es bash lo más común?
Rob

1
@ Rob, sí. Esto también funciona en bash, obviamente. Simplemente no tenía bash (o ninguna caja estándar de Linux) a mano cuando lo escribí.
Kusalananda

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.