Quick unix command to display specific lines in the middle of a file? Quick unix command to display specific lines in the middle of a file? linux linux

Quick unix command to display specific lines in the middle of a file?


I found two other solutions if you know the line number but nothing else (no grep possible):

Assuming you need lines 20 to 40,

sed -n '20,40p;41q' file_name

or

awk 'FNR>=20 && FNR<=40' file_name

When using sed it is more efficient to quit processing after having printed the last line than continue processing until the end of the file. This is especially important in the case of large files and printing lines at the beginning. In order to do so, the sed command above introduces the instruction 41q in order to stop processing after line 41 because in the example we are interested in lines 20-40 only. You will need to change the 41 to whatever the last line you are interested in is, plus one.


# print line number 52sed -n '52p' # method 1sed '52!d' # method 2sed '52q;d' # method 3,  efficient on large files 

method 3 efficient on large files

fastest way to display specific lines


with GNU-grep you could just say

grep --context=10 ...