Как пакетно добавить подкаталог, чтобы связать цель в bash - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть каталог под моим контролем с множеством символических ссылок на подкаталоги в другом каталоге, который не находится под моим контролем.«Формат» недавно изменился, и я хотел бы обновить все свои символические ссылки, чтобы добавить «новый» к цели ссылки.

Пример текущей ситуации:

  • u -> / catalog / uvw
  • v -> / catalog / uvw
  • x -> / catalog / xyz
  • y -> / catalog / xyz
  • ...

Как можно пакетно добавить подкаталог к ​​каждой цели ссылки, чтобы у новых ссылок были следующие цели?

  • u -> / catalog / uvw / new
  • v -> / catalog / uvw / new
  • x -> / catalog / xyz / new
  • y-> / каталог / xyz / new
  • ...

1 Ответ

0 голосов
/ 21 февраля 2019

Пожалуйста, попробуйте следующее:

find . -type l -maxdepth 1 -print0 | while IFS= read -r -d "" link; do
    target="$(readlink "$link")"
    ln -nfs "$target/new" "$link"
done

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...