extract all text lines between 2 lines in a file?

Ben Boulanger ben at blackavar.com
Wed Apr 7 14:59:01 EDT 2004


perl -e 'open (JUNK, "junk"); while (<JUNK>) { if (/uniqdelimiter/) { if
($value) { $value = 0; } else { $value = 1; } } (print $_) if $value; } }'

or.. in a script:

#!/usr/bin/perl -w 
use strict;

my $file = $ARGV[0];
my $value = 0;

open(FILE, "$file");
while (<FILE>) { 
	if (/uniqdelimiter/) { 
		if ($value) { 
			$value = 0; 
		} else { 
			$value = 1; 
		} 
	} 
	(print $_) if $value;
}


On Wed, 7 Apr 2004, Tom Buskey wrote:

> Oops, sorry about last post....
> I have a file:
> 
> #!/bin/sh
> 
> command1
> command2
> uniqdelimiter
> command3
> command4
> uniqdelimiter
> command5
> 
> I want to filter it and get:
> command3
> command4
> 
> In other words, everything between the lines that say "uniqdelimter".
> 
> This will do it:
> sed '0,/^uniqdelimiter/d' file  | sed '/^uniqdelimter/d'
> 
> but I'd like a one liner in sed, grep or awk.  I'll settle for perl too :-)
> 
> 
> 
> _______________________________________________
> gnhlug-discuss mailing list
> gnhlug-discuss at mail.gnhlug.org
> http://mail.gnhlug.org/mailman/listinfo/gnhlug-discuss
> 

-- 

Citation :
The number of UNIX installations has grown to 10, with more expected.
_The UNIX Programmer's Manual_, Second Edition, June, 1972




More information about the gnhlug-discuss mailing list