Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get the first n lines matching a certain pattern (with Linux commands)

Tags:

linux

grep

I have a giant file where I want to find a term model. I want to pipe the first 5 lines containing the word model to another file. How do I do that using Linux commands?

like image 547
biznez Avatar asked Nov 29 '22 12:11

biznez


1 Answers

man grep mentions that

 -m NUM, --max-count=NUM
          Stop reading a file after NUM matching lines.  If the  input  is
          standard  input  from a regular file, and NUM matching lines are
          output, grep ensures that the standard input  is  positioned  to
          just  after the last matching line before exiting, regardless of
          the presence of trailing context lines.  This enables a  calling
          process  to resume a search. 

so one can use

grep model old_file_name.txt -m 5 > new_file_name.txt

No need for a pipe. grep supports almost everything you need on it's own.

like image 126
scragar Avatar answered Dec 04 '22 04:12

scragar