转自他人的成果
“CTRL+v” 进入“可视 块”模式,也即列模式,可删除列
:g/root/d 删除包含root的行
如果我们想以第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.722 张子寅 99.67 172 0.583 周广滨 93.34 188 0.504 陈兴 41.86 188 0.225 薛永成 26.68 188 0.146 张永福 18.25 188 0.107 李华田 18.25 188 0.108 葛祥营 11.89 164 0.079 王天民 -16.55 156 -0.1110 刘峰 -16.19 152 -0.1111 郭居岗 -86.73 152 -0.5712 杨军 -213.45 152 -1.40如果我们想以第4列数据进行排序,可以在vim中如此做:1,12!sort -r -n -k4.1,5-r 是降序排序-n 是按数字大小排序-k,表示第4列第一个字符开始 ,5表示到第5个字段为结束-t 后面跟分隔符,缺省是空格运行后数据如下:7 李华田 18.25 188 0.106 张永福 18.25 188 0.105 薛永成 26.68 188 0.144 陈兴 41.86 188 0.223 周广滨 93.34 188 0.502 张子寅 99.67 172 0.581 何维川 124.63 172 0.728 葛祥营 11.89 164 0.079 王天民 -16.55 156 -0.1112 杨军 -213.45 152 -1.4011 郭居岗 -86.73 152 -0.5710 刘峰 -16.19 152 -0.11