转自他人的成果 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
假设有如下数据,以空格为数据列分割: 1 何维川 124.63 172 0.72 2 张子寅 99.67 172 0.58 3 周广滨 93.34 188 0.50 4 陈兴 41.86 188 0.22 5 薛永成 26.68 188 0.14 6 张永福 18.25 188 0.10 7 李华田 18.25 188 0.10 8 葛祥营 11.89 164 0.07 9 王天民 -16.55 156 -0.11 10 刘峰 -16.19 152 -0.11 11 郭居岗 -86.73 152 -0.57 12 杨军 -213.45 152 -1.40
如果我们想以第4列数据进行排序,可以在vim中如此做: 1,12!sort -r -n -k4.1,5
-r 是降序排序 -n 是按数字大小排序 -k,表示根据那个字段排序,4.1,表示第4列第一个字符开始 ,5表示到第5个字段为结束 -t 后面跟分隔符,缺省是空格
运行后数据如下: 7 李华田 18.25 188 0.10 6 张永福 18.25 188 0.10 5 薛永成 26.68 188 0.14 4 陈兴 41.86 188 0.22 3 周广滨 93.34 188 0.50 2 张子寅 99.67 172 0.58 1 何维川 124.63 172 0.72 8 葛祥营 11.89 164 0.07 9 王天民 -16.55 156 -0.11 12 杨军 -213.45 152 -1.40 11 郭居岗 -86.73 152 -0.57
10 刘峰 -16.19 152 -0.11
|