vim 按照字段排序文件

假设有如下数据,以空格为数据列分割:

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
 
转自:http://blog.sina.com.cn/s/blog_4b1816550100k2ec.html
posted @ 2017-08-31 17:52  bonelee  阅读(5835)  评论(1编辑  收藏  举报