У меня много папок с именем Archive.folder
в /var/CommuniGate/Accounts/*/
. Как я могу переместить их в новое место и оставить символическую ссылку в старой папке на новое место?
Может быть, использовать find и cp, чтобы переместить их?
find /var/CommuniGate/Accounts/ -name 'Archive.folder' -exec cp -r --parents {} . \;
Это отлично подходит для их перемещения и сохранения структуры папок. Но как можно оставить ссылку одновременно с ln? Также ссылка должна заменить старую папку.
После того, как я попытался выполнить следующее, это работает, если есть только одна папка.
find /var/CommuniGate/Accounts/ -name 'Archive.folder' -delete
find * -name 'Archive.folder' | xargs -0 -iDIR sh -c 'mkdir -p /$(dirname DIR); ln -s -t /$(dirname DIR) $PWD/DIR'
Я получаю permission denied
за sh -c
для всего после первого каталога.