Confusion about tail usage

Nils Kassube kassube at
Mon Feb 18 15:49:54 UTC 2008

stan wrote:
> I am trying to write a quick shell script to delete all but the newest
> 3 files in a directory. Getting a list sorted by time, I use ls -t. I
> figured I could use tail to print all the lines in it's input file,
> skipping the first 3 lines. I expected tail -n +3 would do this. But it
> does not.
> What am I doing wrong?

From <>:

| If any option-argument is a number n starting with a ‘+’, tail begins
| printing with the nth item from the start of each file, instead of from
| the end.

So if you use "ls -t|tail -n +4" it will begin with the 4th filename, i.e. 
skip the first 3 ones.


More information about the ubuntu-users mailing list