rsync -rlpv --files-from=<(find ...) /user/username/projects /user/newuser
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
rsync -rlpv --files-from=<(find ...) /user/username/projects /user/newuser
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