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

时间: 2024-10-07 05:45:14

vim 按照字段排序文件的相关文章

vim编辑器的设置文件

vim配置特点: 1.按F5可以直接编译并执行C.C++.java代码以及执行shell脚本,按“F8”可进行C.C++代码的调试 2.自动插入文件头 ,新建C.C++源文件时自动插入表头:包括文件名.作者.联系方式.建立时间等,读者可根据需求自行更改 3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码 4.按“F2”可以直接消除代码中的空行 5.“F3”可列出当前目录文件,打开树状文件目录 6. 支持鼠标选择.方向键移动 7. 代码高亮,自动缩进,显示行号,显示状态行 8.按“Ctr

php 数组排序以及按照某个字段排序

经常,开发人员发现在PHP中使用这种数据结构对值或者数组元素进行排序非常有用.PHP提供了一些适合多种数组的排序函数,这些函数允许你在数组内部对元素进行排列,也允许用很多不同的方法对它们进行重新排序.在这篇文章中我们将讨论该排序中最重要的几个函数. 简单排序 首先,让我们来看看最简单的情况:将一个数组元素从低到高进行简单排序,这个函数既可以按数字大小排列也可以按字母顺序排列.PHP的sort()函数实现了这个功能,如Listing A所示: Listing A <?php  $data = a

ubuntu 中用vim打开txt等文件中文显示乱码的解决方法 &nbsp;

今晚用ubuntu 12.04 的vim编辑网页代码时,发现上面的中文显示乱码.这个html文件是我之前用gedit编辑的,在gedit里面显示正常,可是在vim下显示就是乱码了. 怎么解决ubuntu中vim显示中文乱码的问题呢? 首先,添加中文字符编码: sudo gedit /var/lib/locales/supported.d/local 在打开的文件中添加下面的中文字符集 zh_CN.GBK GBK zh_CN.GB2312 GB2312 zh_CN.GB18030 GB18030

PHP 二维数组根据某个字段排序

原文:PHP 二维数组根据某个字段排序 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 遇到这个要求的时候就不是 ORDER BY 能解决的问题了.因此翻看 PHP 手册查找到了如下方法,做此笔记. <?php /** * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author ruxing.li */ header('Content-Type:text/html;Charset=utf-8'

vim中的加密文件

用vim编辑程序. 要连续输入几个宏名,将键盘改为了大写输入. 存盘退出,本该用:x,结果写成了:X.接着,要求输入密码,再确认一次.按要求做了,心中还在纳闷. 接着用gcc编译程序,一大堆错误.根据提示,源文件中有大量非法的符号. 用vim打开,需要输入密码. 用gedit打开,里面不少怪符号. 想到误将源文件加密了. 查资料,知道了:x和:X的区别.知道了在命令状态下,用:set key=解密. 第一次解密,没有注意到=后面该有个空格. gcc还是一堆错误,再vim,还要密码. 第二次解密,

字符串排序和多字段排序(string sorting and multi-fields)

被分词的string字段也是一个multi-value字段,但是对他们进行排序往往得不到想要的结果.如果你对"fine old art"进行分词,他将会返回三个term.我们也许对以一个term进行字母排序,然后第二个等.但是ES没有在这个期间的时间顺序. 你可以使用min和max排序模式(默认使用min),但是结果既不是art或者old也不是任何想要的结果. 为了对string field进行排序,这个field就只能是一个term:也就是一个not_analyzed类型的strin

vim打开多个文件方式及操作

格式如下: #vim file*.txt 或者 #vim file file2 file3 查看当前编程的是那个文件,在冒号命令行下 :args 命令,类似:file [file2],以中括号里面为当前编辑的文件 : :next 转到下一个文件可以简写:n : :prev 转到上一个文件,简写无效: :last 转到最后一个文件: :first 转到最前一个文件: :w 存盘:可以配合next,prev使用,如::wn ; :wprev; 但不能配合last,first; :2next ;可以在

SQL 单表分页存储过程和单表多字段排序和任意字段分页存储过程

  第一种:单表多字段排序分页存储过程       --支持单表多字段查询,多字段排序 create PROCEDURE [dbo].[UP_GetByPageFiledOrder] ( @TableName varchar(50), --表名 @ReFieldsStr varchar(200) = '*', --字段名(全部字段为*) @OrderString varchar(200), --排序字段(必须!支持多字段不用加order by) @WhereString varchar(500)

Basic4Android中按日期排序文件

#Region Project Attributes #ApplicationLabel: SortByDateFileTest #VersionCode: 20140627 #VersionName: 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False