On Wed, Sep 2, 2009 at 5:35 PM, Warren Togami <[email protected]> wrote:
> I just noticed some behavior changes within sed. Run the following > commands in various distros. > > #!/bin/bash > set -x > echo "abc" > original.txt > ln -s original.txt symlink.txt > sed -i 's/abc/123/' symlink.txt > if [ -L symlink.txt ]; then > echo yes symlink > else > echo not symlink anymore > fi > cat original.txt > cat symlink.txt > > RHEL5 > ===== > [u...@rhel5 ~]$ echo "abc" > original.txt > [u...@rhel5 ~]$ ln -s original.txt symlink.txt > [u...@rhel5 ~]$ sed -i 's/abc/123/' symlink.txt > sed: ck_follow_symlink: couldn't lstat s/original.txt: No such file or > directory > [u...@rhel5 ~]$ cat symlink.txt > abc > [u...@rhel5 ~]$ cat original.txt > abc > > original.txt is unmodified, symlink.txt is still a symlink. > > Fedora 10 > ========= > [u...@fedora10 ~]$ echo "abc" > original.txt > [u...@fedora10 ~]$ ln -s original.txt symlink.txt > [u...@fedora10 ~]$ sed -i 's/abc/123/' symlink.txt > [u...@fedora10 ~]$ cat symlink.txt > 123 > [u...@fedora10 ~]$ cat original.txt > 123 > > original.txt is modified, symlink.txt is still a symlink. > > Fedora 11 and 12 > ================ > [u...@fedora11 ~]$ echo "abc" > original.txt > [u...@newcaprica ~]$ ln -s original.txt symlink.txt > [u...@newcaprica ~]$ sed -i 's/abc/123/' symlink.txt > [u...@newcaprica ~]$ cat original.txt > abc > [u...@newcaprica ~]$ cat symlink.txt > 123 > > original.txt is not modified, symlink.txt is no longer a symlink. > symlink.txt now contains a modified version of original.txt as a plain file. > > What is the correct behavior? Is this a bug that it changed? > > Also perl -pi -e 's/abc/123/g' symlink.txt always have got the same result. > Warren Togami > [email protected] > > -- > fedora-devel-list mailing list > [email protected] > https://www.redhat.com/mailman/listinfo/fedora-devel-list >
-- fedora-devel-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/fedora-devel-list
