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 @   bonelee  阅读(5888)  评论(1编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
历史上的今天:
2016-08-31 C++构造函数和析构函数调用虚函数时都不会使用动态联编
2016-08-31 C++调用父类的构造函数规则
2016-08-31 C++迟后联编和虚函数表
点击右上角即可分享
微信分享提示