Извините, я, вероятно, использую неверные термины для описания проблемы и не понимаю самые основные принципы использования нескольких распространенных команд.
У меня есть простой оператор 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