[ILUG] sed question
Niall O Broin
niall at linux.ie
Thu Feb 19 20:21:14 GMT 2004
On Thursday 19 February 2004, padraig.brady at corvil.com (Padraig Brady) wrote:
>OK I've a (very big) file like:
>
>0
>0
>1
>1
>2
>2
>3
>3
>:
>
>I would like to find and print the "2" lines,
>AND THEN STOP PRCOCESSING the humungous file.
>
>I was thinking of using sed, and the q command.
As is so often the case when sed is mentioned, and awk is suggested, the
correct answer is perl:
perl -ne 'if (/(^)(2)/) {print} else { exit if $2}' humungous_file
Before anyone jumps in - the () around the ^ are a tautology - I couldn't
resist having the checking variable be called $2.
Two characters less to type, and just a tiny bit less satisfying is:
perl -ne 'if (/1^(2)/) {print} else { exit if $1}' humungous_file
Niall
More information about the ILUG
mailing list