cp -u é ilegal no mac. Quais são as alternativas?

6

Eu tenho um MacbookPro Lion e tentei arquivar meus arquivos que tentaram copiar e sobrescrever se a origem for mais recente que o destino. Eu tentei o seguinte comando

cp -u source destination

mas diz, -u é ilegal. Eu também não encontrei --update ou -u no man cp .

Você pode me ajudar, o que posso fazer nesta situação?

[Eu tenho a pergunta movida para cá da SO, então sinta-se à vontade para respondê-la mais uma vez. Espero que este seja o jeito certo de lidar com isso]

    
por Barnabas Szabolcs 06.12.2012 / 00:27

3 respostas

4

Provavelmente, a solução mais fácil seria usar o rsync . É um aplicativo de backup que pode fazer o que o cp -u faz (e muito, muito mais).

O uso básico seria algo como:

rsync -u source destination

No entanto, você deve verificar a página do manual porque existem MUITAS opções úteis.

    
por 06.12.2012 / 00:52
3

Você pode usar a condição -nt :

[[ source/$file -nt destination/$file ]] && cp source/$file destination/$file

Basta executar isso para todos os arquivos (por meio de um loop ou por meio de find ).

    
por 06.12.2012 / 00:12
2

Eu instalei o GNU Coreutils com o MacPorts por

sudo ports install coreutils findutils 

findutils não são necessários, mas eles sugeriram instalá-lo também .

Eu segui a ideia de Keith Thompson, (parabéns!). Funciona muito, o comando de cópia "avançado" é agora:

/opt/local/libexec/gnubin/cp

Ele não tem uma página man, mas tem uma ajuda longa, estilo homem, com a opção --help .

    
por 06.12.2012 / 00:54