I am learning awk/gawk. So recently I just try to solve any problem with it to gain more practice opportunities.

My coworker asked a question yesterday,

"how to remove first and last line from file"

. I know that sed '1d;$d' file would work. also head/tail works too even if the poor performance. I told him the sed one, he was happy.

Later, I was trying to wrote an awk one-liner: so far what I got is:

awk 'NR>1{a[++k]=$0}END{for(i=1;i<k;i++)print a[i]}'

This will store whole file in array just to skip the last line. I feel that there should be an easier(or better) way to do that..

(if there is no easier or faster or better way, I would remove the question)

awk
Edit
Report