如何批量追加子目录以链接bash中的目标

时间:2019-02-21 00:25:57

标签: bash symlink batch-rename

我在我的控制下有一个目录,该目录中有很多符号链接到另一个不在我控制下的目录中的子目录。 “格式”最近已更改,我想更新我所有的符号链接,以将“新”附加到链接目标。

当前情况的示例:

  
      
  • 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-> / catalog / xyz / new
  •   
  • ...
  •   

1 个答案:

答案 0 :(得分:1)

请尝试以下操作:

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

希望这会有所帮助。