Copiando um arquivo somente quando é mais recente que o destino

25

Como faço para copiar um arquivo no Linux apenas quando o arquivo que está sendo copiado é mais recente do que a versão no destino?

Se o arquivo no destino for mais recente, eu quero que a cópia do arquivo não vá em frente.

    
por Eli 29.09.2011 / 17:22

4 respostas

44

Usar a opção de atualização (-u) com o cp deve fazer isso por você.

link

    
por 29.09.2011 / 17:30
10

Use rsync

rsync --progress -r -u /from/one/* /to/another/directory
    
por 02.03.2015 / 10:29
2

Você não está dizendo qual shell está usando, por isso vou assumir ksh :

if [[ file1 -nt file2 ]]; then cp file1 file2; fi
    
por 29.09.2011 / 17:27
1

yes|cp -ruv /from/* /to/.
sim - responda sim a todas as perguntas.
r - Recursiva
u - atualizar
v - Progresso

funciona como xargs .

Eu não sei explicar academicamente.

Como forçar o cp a sobrescrever sem confirmação

    
por 08.11.2016 / 16:03

Tags