2008年5月22日 星期四

vi 中利用 sort 排序資料

用vi 來看log檔常要排序一下資料
可以用外部的sort 程式協助排序

指令用法如下:
:1,$!sort -k 3
表示從第1列開始, 以第3 欄資料進行排序

:4,$!sort -k 3
表示從第4列開始, 以第3 欄資料進行排序 給有標題的文件用

:1,$!sort -k 4 -t"."
表示從第1列開始, 以第8 欄資料進行排序, 分欄字元是 "."
結果會如下 :
192.168.1.20
192.168.1.218
192.168.1.22
218 竟然排在 22 的前面? 是因為以"文字順序"排序的關係

:1,$!sort -k 4 -t"." -n
表示從第1列開始, 以第4 欄資料進行排序, 分欄字元是 "." , 並且依數字大小而非文字順序排序
結果會改變如下
192.168.1.20
192.168.1.23
192.168.1.218

vi 還真滿好用的

2 則留言:

匿名 提到...

Hi Alan,

我覺得您這篇文章滿實用的,可否轉貼您的這篇文章~
謝謝~

alanyang 提到...

請儘管用....