Hi Straps!
You should check out "symlinks". It's a utility for managing and manipulating symbolic links. It seems to be included with debian/ubuntu, but I'm not sure about other distros. here's an example of me testing what it sounds like you want to do:
Code:
## First I had to install it
root@ajax:~# apt-get install symlinks
Setting up symlinks (1.2-4.2) ...
## Then I had to see what it could do
root@ajax:~# symlinks -?
symlinks: scan/change symbolic links - v1.2 - by Mark Lord
Usage: symlinks [-crsv] dirlist
Flags: -c == change absolute/messy links to relative
-d == delete dangling links
-r == recurse into subdirs
-s == shorten lengthy links
-v == verbose (show all symlinks)
## Here's where I'm testing from
root@ajax:~# pwd
/root
## Let's make a test directory
root@ajax:~# mkdir -p some/dir/deeper/than/this
## and make an absolute link to it
root@ajax:~# ln -s /root/some/dir/deeper/than/this/ ./this
## symlinks finds it in "." and tells me it's absolute
root@ajax:~# symlinks -v .
absolute: /root/this -> /root/some/dir/deeper/than/this/
## First I tried -c, but it didn't do exactly what I wanted...
root@ajax:~# symlinks -c .
absolute: /root/this -> /root/some/dir/deeper/than/this/
changed: /root/this -> ../root/some/dir/deeper/than/this
## Then I looked back at the usage...
root@ajax:~# symlinks -sc .
lengthy: /root/this -> ../root/some/dir/deeper/than/this
changed: /root/this -> some/dir/deeper/than/this
## Now it's perfect!
root@ajax:~# symlinks -v .
relative: /root/this -> some/dir/deeper/than/this
I hope this helps!
-Jeo