Usando o comando find com cópia recursiva sem -r ou while / loop

0

Eu tenho o seguinte problema. Normalmente, seria usado o comando find exec cp -r para copiar tudo de um diretório para outro. Neste caso, não tenho permissão para fazer isso, ou use um loop while / for para o comando find.

O que eu preciso fazer é copiar tudo de um diretório para outro com a estrutura de diretórios completa.

    
por Linus Kleen 13.12.2012 / 09:16

1 resposta

1

Você pode começar com algo assim:

src=/home/user
dst=/to/dir
find -exec printf " echo {} | \
        sed 's|^$src|$dst|;s|/[^/]*$||' | \
        xargs -n1 -I@ mkdir -p @\n" \; | \
   sh

que cria a estrutura de diretórios no diretório de destino. Você pode adicionar muitos comandos ao printf.

    
por 13.12.2012 / 09:45

Tags