On 09/11/2011 10:30, Vincent Hoffman wrote:
is there any easy way to make our sed do the same as gnu sed here?
for now I have encapsulated the whole thing in a subshell
[backup@banshee ~]$ echo -n $(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 ~]$

Which works but seems a little hackish.

You can do it with awk(1):

# echo -n "/boot:7:1:5; /:7:1:5; /var:7:1:5" | \
 awk ' { gsub("[[:space:]]*;[[:space:]]*", ";", $0) ; printf "%s", $0 }'

Not sure if that's any better than your solution using echo though. Also trivial in perl(1) or python(1) or whatever, but it seems a waste to fire up a whole perl interpreter just to do that.

        Cheers,

        Matthew

--
Dr Matthew J Seaman MA, D.Phil.                   7 Priory Courtyard
                                                  Flat 3
PGP: http://www.infracaninophile.co.uk/pgpkey     Ramsgate
JID: matt...@infracaninophile.co.uk               Kent, CT11 9PW
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to