awk小例子_1_逆序排列

seq 3 |  awk '{ lifo[NR]=$0 }
           END{ for(lno=NR;lno>-1;lno--){ print lifo[lno]; }
           }'

结果:3
   2
   1
   空行(lno>-1)

原理:将每一行都存入一个关联数组中,用行号作为数组索引(行号有NR给出),最后由awk执行END语句块。为了得到最后一行的行号,在{ }语句中使用lno=NR。

因此,这个脚本从最后一行一致迭代到第0行,将存储在数组中的各行以逆序的方式打印出来。


 

 

posted on 2018-08-28 11:48  如尘如水  阅读(501)  评论(0编辑  收藏  举报