awk加Sort实现对前N-1个字段作Key,最后一个字段作Value的排序

时间:2015-05-16 21:51:34   收藏:0   阅读:255

最近有一些数据,形如:

a1,asdff,dddd,23

zz,ss,ff,hh,kk,56

pppp,90

Wwww,qqq,eee,ttt,yyy,44

这样的数据,需要将前面的N-1个字段作为Key,最后一个字段做Value,并根据Value排序,琢磨了很久,终于初步实现了,故在此备注和分享:

awk 'BEGIN{FS=","; OFS="  "}{
<span style="white-space:pre">	</span>for(i=1;i<NF;i++){
<span style="white-space:pre">	</span>if(i==1)
<span style="white-space:pre">		</span>u=$i
<span style="white-space:pre">	</span>else
<span style="white-space:pre">		</span>u=(u","$i)
<span style="white-space:pre">	</span>};
<span style="white-space:pre">	</span>print u,$NF
}' in.txt|sort -r -n -k2  


评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!