Date: Wed, 09 Nov 2011 18:56:07 -0500 From: Jason Lenthe <lenthe@comcast.net> To: freebsd-questions@freebsd.org Subject: Re: sed vs gnu sed Message-ID: <4EBB1317.5060101@comcast.net> In-Reply-To: <4EBA5646.5030102@unsane.co.uk> References: <4EBA5646.5030102@unsane.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On 11/09/11 05:30, Vincent Hoffman wrote: > 'Hi all, > I'm trying to move a script from a linux box to a freebsd box. > All going well as its just a bash script and bash is bash, however there > is one line I'm unable to use directly, as bsd sed (correctly according > to SUS at least, I believe[1]) appends a newline when writing to > standard out, gnu sed doesnt. example > BSD > [backup@banshee ~]$ echo -n "/boot:7:1:5; /:7:1:5; /var:7:1:5" | sed -n > 's/[[:space:]]*;[[:space:]]*/;/gp' > /boot:7:1:5;/:7:1:5;/var:7:1:5 > [backup@banshee ~]$ > > LINUX > > [backup@amber ~]$ echo -n "/boot:7:1:5; /:7:1:5; /var:7:1:5" | sed > 's/[[:space:]]*;[[:space:]]*/;/g' > /boot:7:1:5;/:7:1:5;/var:7:1:5[backup@amber ~]$ > > is there any easy way to make our sed do the same as gnu sed here? > You could also just lop off the newline with tr -d '\n': echo -n "/boot:7:1:5; /:7:1:5; /var:7:1:5" | sed -n 's/[[:space:]]*;[[:space:]]*/;/gp' | tr -d '\n'
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4EBB1317.5060101>