thk*_*ala 18
ln -sf "$(readlink -f "$link")" "$link"
Run Code Online (Sandbox Code Playgroud)
以防有人寻找逆向操作:从绝对链接转换为相对:
使用python:
find . -lname "`pwd`*" -exec sh -c 'ln -snvf `python -c "from os.path import *; print relpath(\"$(readlink {})\",dirname(\"{}\"))"` {}' \;
Run Code Online (Sandbox Code Playgroud)
仅使用bash和sed:
find . -lname "`pwd`/*" -depth 1 -exec sh -c 'ln -snvf `echo $(readlink {}) | sed "s|\`pwd\`|.|"` {}' \;
find . -lname "`pwd`/*" -depth 2 -exec sh -c 'ln -snvf `echo $(readlink {}) | sed "s|\`pwd\`|..|"` {}' \;
find . -lname "`pwd`/*" -depth 3 -exec sh -c 'ln -snvf `echo $(readlink {}) | sed "s|\`pwd\`|../..|"` {}' \;
etc....
Run Code Online (Sandbox Code Playgroud)
这会将子目录中的所有绝对链接转换为相对链接.