Perdoe-me, provavelmente não estou usando os termos corretos para descrever o problema e entendendo mal o uso mais básico de alguns comandos comuns.
Eu tenho uma instrução find simples que localiza os arquivos que desejo copiar. Quero aderir ao -exec cp {} e fazer com que cp copie 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
Responder1
rsync -rlpv --files-from=<(find ...) /user/username/projects /user/newuser
Responder2
Se você tiver certeza de que todos os subdiretórios existem, esta é uma opção divertida:
cd /user/username/
find . -name \*.gz | sed 's/\.\(.*\)/.\1 ..\/newuser\1/' | xargs -n2 cp