Как насчет чего-то вроде
find . -type f | pv -s $(find . -type f | wc -c) | xargs -i cp {} --parents /DEST/$(dirname {})
Он находит все файлы в текущем каталоге, передает данные через PV, давая PV оценочный размер, чтобы измеритель прогресса работал, а затем передает его команде CP с флагом --parents, чтобы путь DEST соответствовал пути SRC. .
Одна проблема, которую мне еще предстоит преодолеть, заключается в том, что если вы выполните эту команду
find /home/user/test -type f | pv -s $(find . -type f | wc -c) | xargs -i cp {} --parents /www/test/$(dirname {})
путь назначения становится / www / test / home / user / test / .... FILES ... и я не уверен, как сказать команде избавиться от части '/ home / user / test'. Вот почему я должен запустить его из каталога SRC.