sed Guru wanted

Matthias Apitz guru at unixarea.de
Sat Jul 13 06:52:47 UTC 2013


El día Friday, July 12, 2013 a las 10:44:07AM -0500, Robert Bonomi escribió:

> > I can delete in a text file with
> >
> >  sed '/pattern1/,/pattern2/d' < file
> >
> > all lines between the lines with the given patterns, including themself 
> > also; how could I specify that the deletion should exclude the line with 
> > /pattern1/, i.e. the addr is something like /pattern1/+1 ?
> 
> IF you use ed(1) style commands, then '/pattern1/+1,/pattern2/d' _is_ the
> answer.  <GRIN>
> 
> See: 'man 1 ed', specifically the LINE ADDRSSING section.
> ...

I know, but I wanted it to be a 'one line command' w/o additional script
files; yesterday evening, while sitting in a beergarden, I came up with
the idea to first add one line to the file after the line with pattern1 and
use this new pattern3 for the start of the deletion:

awk -v D=pattern3 '{ print } ; /pattern1/ { print D }' | sed '/pattern3/,/pattern2/d'

Thanks for your thoughts in any case

	matthias
-- 
Matthias Apitz               |  /"\ ASCII Ribbon Campaign: www.asciiribbon.org
E-mail: guru at unixarea.de     |  \ / - No HTML/RTF in E-mail
WWW: http://www.unixarea.de/ |   X  - No proprietary attachments
phone: +49-170-4527211       |  / \ - Respect for open standards


More information about the freebsd-questions mailing list