sed help please

Fri Mar 4 08:33:12 UTC 2016

# echo -e "line1\nline2\nfoo\nline4\nline5\nbar\nline7" | sed -n '/foo/,/bar/p'



-----Original Message-----
From: owner-freebsd-questions at [mailto:owner-freebsd-questions at] On Behalf Of David Banning
Sent: 04 March 2016 04:06
To: questions at
Subject: sed help please

I am trying to change hundreds of lines of text. Given the following text;

line 1
line 2 foo take this text
line 3
line 4
line 5 bar leave this text
line 6
line 7
I need a sed command that would take everything between foo and bar - including foo and bar.  

Ideally the output would look like;

line 1
line 2
leave this text
line 6
line 7

Keep in mind that foo and bar appear in different locations - sometimes at the beginning of a line, sometimes at the end, and sometimes in the middle.  I found someone who posted the following solution;

sed '/foo/,/bar/{s/./x/g}' file

but I found that this does not execute under FreeBSD.  I have looked around for differences between FreeBSD and other unix like SED operations but only see the -s "", regarding backup file.

Any pointers would be helpful.

freebsd-questions at mailing list
To unsubscribe, send any mail to "freebsd-questions-unsubscribe at"

This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorised copying, disclosure or distribution of the material in this e-mail is prohibited.

Please refer to for additional disclosures.

More information about the freebsd-questions mailing list