dear lazyweb
Dec. 4th, 2008 11:51 pmI want to run a command that will give me the contents of a file, except for the last two lines. I know that tail -2 filename will give me the last two lines of a file, and head -2 filename will give me the first two lines of a file. Now, tail +2 filename will give me contents of a file, starting with line 2. It's not a symmetrical option, but i can at least work with that. However, the head command lacks this elegant mode; otherwise, i would infer that head +3 filename would give me what i want. Is there a simple command that can do what i want? I figure i can implement this in some fugly perl script, but that is not the damn point.
no subject
Date: 2008-12-05 05:37 pm (UTC)nasty but it works and is simple to understand.
sed -e 'N;$!P;$!D;$d'
actually does want you want (but has a bug if the file is only 1 line long).
(I googled that... took 5 seconds "sed all but last 2 lines". Don't think I could have created it on my own since I'm not too good with sed pattern buffer mangling)