如何将子目录批量附加到 bash 中的 link 目标
How to batch append subdirectory to link target in bash
我有一个目录在我的控制之下,其中有很多符号 links 到另一个不在我控制的目录中的子目录。 "format" 最近发生了变化,我想更新我所有的符号 link 以将 "new" 附加到 link 目标。
当前情况示例:
- u -> /catalog/uvw
- v -> /catalog/uvw
- x -> /catalog/xyz
- y -> /catalog/xyz
- ...
如何将子目录批量附加到每个 link 目标,以便新的 link 具有以下目标?
- u -> /catalog/uvw/new
- v -> /catalog/uvw/new
- x -> /catalog/xyz/new
- y -> /catalog/xyz/new
- ...
请尝试以下操作:
find . -type l -maxdepth 1 -print0 | while IFS= read -r -d "" link; do
target="$(readlink "$link")"
ln -nfs "$target/new" "$link"
done
希望对您有所帮助。
我有一个目录在我的控制之下,其中有很多符号 links 到另一个不在我控制的目录中的子目录。 "format" 最近发生了变化,我想更新我所有的符号 link 以将 "new" 附加到 link 目标。
当前情况示例:
- u -> /catalog/uvw
- v -> /catalog/uvw
- x -> /catalog/xyz
- y -> /catalog/xyz
- ...
如何将子目录批量附加到每个 link 目标,以便新的 link 具有以下目标?
- u -> /catalog/uvw/new
- v -> /catalog/uvw/new
- x -> /catalog/xyz/new
- y -> /catalog/xyz/new
- ...
请尝试以下操作:
find . -type l -maxdepth 1 -print0 | while IFS= read -r -d "" link; do
target="$(readlink "$link")"
ln -nfs "$target/new" "$link"
done
希望对您有所帮助。