申し訳ありませんが、私はおそらく問題を説明するのに適切な用語を使用しておらず、いくつかの一般的なコマンドの最も基本的な使用法を誤解しています。
コピーしたいファイルを検索する簡単な find ステートメントがあります。-exec cp {} を追加して、cp でソース ディレクトリから新しいベース ディレクトリにファイルをコピーしますが、フル パスを含めます。例:
find . -name *.txt
見つける/user/username/projects/source.txt
cp {} [now what?]
ファイルをコピーする/user/newuser/projects/source.txt
答え1
rsync -rlpv --files-from=<(find ...) /user/username/projects /user/newuser
答え2
すべてのサブディレクトリが存在することを確信できる場合は、これが楽しいオプションです。
cd /user/username/
find . -name \*.gz | sed 's/\.\(.*\)/.\1 ..\/newuser\1/' | xargs -n2 cp