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

}

相關文章
相關標籤/搜索