recursivamente copiar todos os arquivos de um diretório para outro com exceções

8

Como eu preciso copiar todos os arquivos, exceto alguns diretórios de um diretório para outro. por exemplo:

cp -R test /www/test2 would copy all

Mas eu quero excluir duas pastas chamadas log e logs.

Eu tentei algo como:

find ~test -not -name logs,log |  cp -R test /www/test2 

Mas você pode me ajudar com a sintaxe?

    
por Micheal 25.10.2012 / 00:29

3 respostas

10

Use o rsync:

rsync -a --exclude=logs --exclude=log from/ to/
    
por 25.10.2012 / 00:32
2

Acho que você está procurando algo como:

find dir -type d ! \( -name 'log' -o -name 'logs' \) | xargs -I{} cp -R {} /www/test2/{}
    
por 25.10.2012 / 00:35
0

Se estiver usando bash :

shopt -s extglob
cp -R test/!(log|logs) /www/test2

Veja o link

    
por 25.10.2012 / 00:34

Tags