Как скопировать файлы и сохранить частичные пути в Linux? - PullRequest
0 голосов
/ 15 января 2020

Легко скопировать файлы и сохранить полный путь в качестве источника, используя --parent. Не удалось найти вопросы и решения о том, как сохранить частичные пути, сохранить частичный путь и имя файла в нижнем регистре, как показано ниже,

Источник: /A/B/c/d/e.txt

Target: /X/Y/c/d/e.txt

Единственный / тупой способ, который я могу придумать, - это проанализировать "c / d" из источника, а затем "mkdir -p / X / Y / c / d "и" cp /A/B/c/d/e.txt / X / Y / c / d ". Есть ли лучший однострочный способ без всех строковых операций пре / постфикс?

1 Ответ

2 голосов
/ 15 января 2020

Простым способом было бы сначала скопировать cd (или pushd / popd) в / A / B, а затем позволить опции -t (--target-directory) копировать иерархию относительных путей.

cd /A/B && cp -t /X/Y --parents c/d/e.txt
...