Search code examples
command-linetailhead

How to output lines 800-900 of a file with a unix command?


I want to output all lines between a and b in a file.

This works but seems like overkill:

head -n 900 file.txt | tail -n 100

My lack of unix knowledge seems to be the limit here. Any suggestions?


Solution

  • sed -n '800,900p' file.txt
    

    This will print (p) lines 800 through 900, including both line 800 and 900 (i.e. 101 lines in total). It will not print any other lines (-n).

    Adjust from 800 to 801 and/or 900 to 899 to make it do exactly what you think "between 800 and 900" should mean in your case.