awk加Sort實現對前N-1個字段作Key,最後一個字段作Value的排序

最近有一些數據,形如:

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  



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章