sort,awk

sort -n -k 20,20 xx.txt > xx.txt   

参考sort 博文linux

http://roclinux.cn/?p=1350编程

1、关于sort 

5 sort的-n选项app

你有没有遇到过10比2小的状况。我反正遇到过。出现这种状况是因为排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,因此就将10放在2前面喽。这也是sort的一向做风。spa

咱们若是想改变这种现状,就要使用-n选项,来告诉sort,“要以数值来排序”!code

6 sort的-t选项和-k选项排序

若是有一个文件的内容是这样:get

[rocrocket@rocrocket programming]$ cat facebook.txt
banana:30:5.5
apple:10:2.5
pear:90:2.3
orange:20:3.4ast

 

这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。awk

那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现?cli

幸亏,sort提供了-t选项,后面能够设定间隔符。(是否是想起了cut和paste的-d选项,共鸣~~)

指定了间隔符以后,就能够用-k来指定列数了。

[rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt
apple:10:2.5
orange:20:3.4
banana:30:5.5
pear:90:2.3

 

咱们使用冒号做为间隔符,并针对第二列来进行数值升序排序,结果很使人满意。

2、关于awk编程

awk 分析数据

BEGIN {

sum = 0;

cnt = 0;

}

{ sum = sum + $20;

  cnt++;

 }

END {

                avg = sum/cnt;

                print avg, cnt

}

相关文章
相关标签/搜索