rsync-ссылки указывают на новый пункт назначения

rsync-ссылки указывают на новый пункт назначения

Мне нужно скопировать структуру каталогов из одного места в другое. Мне нужно скопировать только папки и символические ссылки.

Я использую команду

find $SOURCE_PATH/ \( -type l -o -type d \)  -printf "%P\0" | rsync --files-from - --from0 -av  $SOURCE_PATH $USER@$DESTINATION_SERVER:/$DESTINATION_PATH/$SOURCE_PATH

Команда выполнена успешно, и она копирует папку и ссылки. Моя проблема в том, что ссылки указывают на старое место назначения.
Мой исходный путьприложение/cg/dev и конечный путь -tmp/app/cg/dev и теперь мои ссылки, которые я скопировал, указывают на app/cg/dev/somefolder. Мне нужно, чтобы они указывали натмп/app/cg/dev/somefolder.

После того, как я выполню rsync для всех ссылок, хорошим способом исправить их было бы прочитать путь ссылки, а затем просто объединить мой путь назначения. пример

find . -type l | while read l; do
concatenate destination folder and readlink l
done

может ли кто-нибудь помочь мне написать этот код?

Связанный контент