sed is broken under freebsd?

Chris H chris# at
Thu Jan 13 05:10:23 UTC 2011

On Wed, January 12, 2011 2:32 pm, Bob Willcox wrote:
> On Tue, Jan 11, 2011 at 09:00:09PM -1000, Clifton Royston wrote:
>> On Wed, Jan 12, 2011 at 02:32:52AM +0100, Oliver Pinter wrote:
>>> hi all!
>>> The freebsd versions of sed contained a bug/regression, when \n char
>>> can i subsitue, gsed not affected with this bug:
>>> FreeBSD xxx 8.1-RELEASE FreeBSD 8.1-RELEASE #0: Mon Jul 19 02:55:53
>>> UTC 2010     root at
>>> i386 aa at xxx ~> echo axa | sed s/x/\n/g ana aa at xxx ~> echo axa | sed s/x/'\n'/g
>>> ana
>> Different than GNU is not a bug.
>> I have 7.3 here.  It behaves as the above, which is how the man page says it
>> should work.  The following is how the man page specifies you can substitute a
>> newline, by prefacing a quoted actual newline with a backslash:
>> $ echo axa | sed 's/x/\
>>> /g'
>> a a
>> That's how I remember classic sed behaving (Unix v7 or thereabouts.)
>> -- Clifton
> FWI, AIX 6.1 sed works as the FreeBSD sed does.

FWIW On a hunch, I just performed an experimentwith sed(1)
against gsed on 50,000 html documents. My mission; to replace all
instances of:


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
<html xmlns="" xml:lang="en" dir="ltr">

in an effort to see how long it would take to perform the operation for
each of the two versions.

The results?

sed(1) (as provided by the BSD family of operating systems):
~2 seconds

~4.5 seconds

Apologies for the extra noise on the list, but I do a tremendous amount
of editing with sed(1) on almost a daily basis. It's a _fantastic_
tool, that saves me _zillions_ of hours. So I'm afraid I become a bit
defensive when hearing anyone defame it - it's been like a trusted
friend to me. :)


> --
> Bob Willcox              When the ax entered the forest, the trees said,
> bob at           "The handle is one of us!" Austin, TX
> -- Turkish proverb
> _______________________________________________
> freebsd-stable at mailing list
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe at"


More information about the freebsd-stable mailing list