When using the stream editor (sed
) with the -i
option, it does
break links. Like this:
~$ mkdir test ~$ cd test ~/test$ echo Hello > f1 ~/test$ ln -s f1 f2 ~/test$ ls -l total 4 -rw-r--r-- 1 tonk tonk 6 May 4 09:28 f1 lrwxrwxrwx 1 tonk tonk 2 May 4 09:28 f2 -> f1 ~/test$ sed -i.bck 's/Hello/Bello/' f2 ~/test$ ls -l total 8 -rw-r--r-- 1 tonk tonk 6 May 4 09:28 f1 -rw-r--r-- 1 tonk tonk 6 May 4 09:29 f2 lrwxrwxrwx 1 tonk tonk 2 May 4 09:28 f2.bck -> f1 ~/test$ rm f2 f2.bck ~/test$ ln f1 f2 ~/test$ ls -l total 8 -rw-r--r-- 2 tonk tonk 6 May 4 09:28 f1 -rw-r--r-- 2 tonk tonk 6 May 4 09:28 f2 ~/test$ sed -i.bck 's/Hello/Bello/' f2 ~/test$ ls -l total 12 -rw-r--r-- 2 tonk tonk 6 May 4 09:28 f1 -rw-r--r-- 1 tonk tonk 6 May 4 09:29 f2 -rw-r--r-- 2 tonk tonk 6 May 4 09:28 f2.bck
According to the sed
developers this is a feature and not a bug.
Therefore they will add the --follow-symlinks
option in version 4.2.
Yep. It’s not a bug.
I have corrected the vigit
program, because it uses the -i
of sed
.
The new version can be found
here