Need script to pluck lines of text from a file

Ted Richards ted at isgtec.UUCP
Tue Jul 10 16:44:34 AEST 1990


In article <8962 at rosevax.Rosemount.COM> dan at scooter.rosemount.com (Dan Messinger) writes:
|> In article <8957 at rosevax.Rosemount.COM>, dan at scooter.rosemount.com (Dan
|> Messinger) writes:
|> |> In article <1990Jun30.180958.28569 at cbnewsd.att.com>,
|> |> jfb200 at 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.

How about:

	 sed -e "1,/^startmarker/d" -e "/^endmarker/,$d"
-- 
Ted Richards          ...uunet!utai!lsuc!isgtec!ted         ted at isgtec.UUCP
ISG Technologies Inc.   3030 Orlando Dr. Mississauga  Ont.  Canada   L4V 1S8



More information about the Comp.unix.questions mailing list