Copie um arquivo do diretório de origem para o diretório base de destino e mantenha o caminho de origem

0

Perdoe-me, provavelmente não estou usando os termos corretos para descrever o problema e entender mal o uso mais básico de alguns comandos comuns.

Eu tenho uma instrução find simples que está localizando arquivos que eu quero copiar. Eu quero colocar o cex {} em exec e copiar o arquivo do diretório de origem para um novo diretório base, mas inclua o caminho completo. Por exemplo:

  • find . -name *.txt localiza /user/username/projects/source.txt
  • cp {} [now what?] copia o arquivo para /user/newuser/projects/source.txt
por Citizen Dos 07.10.2010 / 03:50

2 respostas

0

rsync -rlpv --files-from=<(find ...) /user/username/projects /user/newuser
    
por 07.10.2010 / 04:24
0

Se você pode ter certeza de que todos os subdiretórios existem, essa é uma opção divertida:

cd /user/username/
find . -name \*.gz | sed 's/\.\(.*\)/. ..\/newuser/' | xargs -n2 cp
    
por 11.03.2011 / 10:56

Tags