What's the opposite of head? I want all but the first N lines of a file
Given a text file of unknown length, how can I read, for example all but the first 2 lines of the file? I know tail
will give me the last N lines, but I don't know what N is ahead of time.
So for a file
AAAA
BBBB
CCCC
DDDD
EEEE
I want
CCCC
DDDD
EEEE
And for a file
AAAA
BBBB
CCCC
I'd get just
CCCC
Solution 1:
tail --help
gives the following:
-n, --lines=K output the last K lines, instead of the last 10;
or use -n +K to output lines starting with the Kth
So to filter out the first 2
lines, -n +3
should give you the output you are looking for (start from 3rd).
Solution 2:
Assuming your version of tail supports it, you can specify starting the tail after X lines. In your case, you'd do 2+1.
tail -n +3
[mdemaria@oblivion ~]$ tail -n +3 stack_overflow.txt
CCCC
DDDD
EEEE
Solution 3:
A simple solution using awk:
awk 'NR > 2 { print }' file.name