如何批处理附加子目录到bash中链接目标

问题描述 投票:0回答:1

我有一个目录在我的控制之下,有很多符号链接到另一个不受我控制的目录中的子目录。 “格式”最近发生了变化,我想更新所有符号链接,将“new”附加到链接目标。

当前情况示例:

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

如何将子目录批量附加到每个链接目标,以便新链接具有以下目标?

  • 你 - > / catalog / uvw / new
  • v - > / catalog / uvw / new
  • x - > / catalog / xyz / new
  • y - > / catalog / xyz / new
  • ...
bash symlink batch-rename
1个回答
1
投票

请尝试以下方法:

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

希望这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.