bash - 如何批量附加子目录到bash中的链接目标
问题描述
我有一个目录在我的控制之下,其中有很多符号链接指向另一个不受我控制的目录中的子目录。“格式”最近发生了变化,我想更新我所有的符号链接以将“新”附加到链接目标。
当前情况的示例:
- u -> /目录/uvw
- v -> /目录/uvw
- x -> /目录/xyz
- y -> /目录/xyz
- ...
如何将子目录批量附加到每个链接目标,以便新链接具有以下目标?
- u -> /目录/uvw/新
- v -> /目录/uvw/新
- x -> /目录/xyz/新
- y -> /目录/xyz/新
- ...
解决方案
请尝试以下方法:
find . -type l -maxdepth 1 -print0 | while IFS= read -r -d "" link; do
target="$(readlink "$link")"
ln -nfs "$target/new" "$link"
done
希望这可以帮助。
推荐阅读
- r - 是否有可以修改现有 PDF 文件的 R 包?
- c - 有人可以解释一下lowlevellock.h的源代码吗
- pytorch - AttributeError:“PngImageFile”对象没有属性“apply_tfms”
- ssl - 是否可以在有效信任链旁边使用自签名服务器证书?
- git - 使用 Git Pull 更新 Apache 服务器
- python - 使用 AND 进行布尔过滤 - Pandas
- python - 在 Python 中将数组映射到 1 和 0 的最有效方法
- python - Windows 10、Anaconda、Jupyter 和 DLL 在导入 Seaborn 时出错,尽管它已安装
- python - 我可以仅卸载并重新安装 Spyder,而不是整个 Anaconda 框架吗?
- html - TikTok 的应用内浏览器未加载视频的 html/css 代码