Path: utzoo!attcan!uunet!rosevax!scooter!dan From: dan@scooter.rosemount.com (Dan Messinger) Newsgroups: comp.unix.questions Subject: Re: Need script to pluck lines of text from a file Keywords: AWK,script,lines,need advice Message-ID: <8962@rosevax.Rosemount.COM> Date: 5 Jul 90 13:12:08 GMT References: <1990Jun30.180958.28569@cbnewsd.att.com> <8957@rosevax.Rosemount.COM> Sender: news@rosevax.Rosemount.COM Reply-To: dan@scooter.rosemount.com (Dan Messinger) Organization: Rosemount Industrial Lines: 49 In article <8957@rosevax.Rosemount.COM>, dan@scooter.rosemount.com (Dan Messinger) writes: |> In article <1990Jun30.180958.28569@cbnewsd.att.com>, |> jfb200@cbnewsd.att.com (joseph.f.baugher) writes: |> |> |> |> I am looking for a Shell script capable of doing the following job: |> |> |> |> I have a file consisting of several dozen lines of text, as per example: |> |> |> |> text in line 1 |> |> text in line 2 |> |> .... |> |> text in line n |> |> startmarker |> |> text in line n+1 |> |> text in line n+2 |> |> .... |> |> ... |> |> text in line n+m-1 |> |> endmarker |> |> text in line n+m+1 |> |> text in line n+m+2 |> |> .... |> |> .... |> |> where startmarker and endmarker are lines of text with characteristic |> |> markers in them which identify them as unique and different from the others. |> |> I want to be able to pipe the lines of text BETWEEN startmarker and |> |> endmarker to another command for further processing. Unfortunately, |> I do not |> |> know ahead of time what the numbers n and m are. |> |> |> |> Sounds like a job for sed. |> |> sed -n "/^startmarker/,/^endmarker/p" I was informed of a problem with this sed command, in that it also prints the start and end markers. So I will try again. sed doesn't support an offset on an address pattern, but ex does. I think this will do the trick. ex - "+/^startmark/+1,/^endmark/-1 p|q" file It is slightly limited in that the source text must be in a file, and not piped into ex. But the output can be piped to another command as Joseph specified. Dan Messinger dan@scooter.rosemount.com