vi里面对列排序

1:
如果我们想以第4列数据进行排序,可以在vim中如此做:
1,12!sort -r -n -k4.1,5

-r 是降序排序
-n 是按数字大小排序
-k,表示根据那个字段排序,4.1,表示第4列第一个字符开始 ,5表示到第5个字段为结束
-t 后面跟分隔符,缺省是空格

2: 
在VIM里面, 如果你要把从当前行以下20行按字母顺序排序

只要输入:.,+20!sort

3:
用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
 
原文地址:https://www.cnblogs.com/yylei/p/12327273.html