head and tail

November 1st, 2006 toydi Posted in head, tail, Text Manipulation | Hits: 66355 | 5 Comments »

Given a list of text lines in a file, to display the first 10 lines:

head foo.txt

To display the last 10 lines:

tail foo.txt

Try -n option to specify the number of lines to display:

tail -n3 foo.txt  # the last 3 lines
head -n4 foo.txt  # the first 4 lines 

And don’t forget, the '+' in tail and '-' in head:

tail -n+10 foo.txt  # start from the 10th line til the last
head -n-10 foo.txt  # print all, except the last 10 lines 

Updates: Inspired by mysurface’s comment, to display the file from 4th line to to 10th line:

head -n10 foo.txt | tail -n+4  # 4th line to 10th line

5 Responses to “head and tail”

  1. head and tail can be combined to create a combo, let say I wanna print a file from line 6 to line 10, I can do this:

    head -n10 foo.txt | tail -n5 

    To indicate that i extract the correct line, i can do this.

    head -n10 foo.txt | nl | tail -n5 

    Place a command to print the line number nl in between the head and tail.

  2. Hi,
    i am working on Solaris9, i want to display the lines satring from 4th line to until last but three lines from the particular line in single shot, example liek i have 10 lines file and i want display from 4th to 7th lines (but number of lines are not pixed in the file-it will be different number-always number records will be different in my file)

    please help me on this, thanks in advance…!:)


  3. Hi
    i got it ………!
    n=`wc -l test.txt`
    head -(n-3)test.txt|tail -(n-6) >test_result.txt


  4. A useful tip, thanks!

  5. I really like coming to your site. Thank you for this post, since it has been quite interesting. I have a site where I have several music industry jobs available for searching, and would love to link to your website.

Leave a Reply