linux/unix命令详解之sort
来源:互联网 发布:直接翻译软件界面 编辑:程序博客网 时间:2024/05/16 18:06
语 法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
参 数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-g 按照一般的数字排序。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-k 按某列排序,下边详讲。
-m 将几个排序好的文件进行合并。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-s 稳定排序,如果对输入顺序有要求的话,这个选项很重要。
-S 限制排序所用的内存。单位:M\G\T\B\E\Z\Y
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-u 去除重复行。
--help 显示帮助。
--version 显示版本信息。
sort默认的会以默认分隔符空格、制表符分隔字段,以第一个字段进行字典序的升序排列,没有指定输入文件则从标准输入获取数据。
sort选项没特别需要讲的,需要注意的就是-k。-k选项的具体语法格式如下:
[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
这个语法格式可以被其中的逗号(“,”)分为两大部分,Start部分和End部分。
如果不设定End部分,那么就认为End被设定为行尾。Start部分也由三部分组成,其中的Modifier部分就是我们之前说过的类似n和r的选项部分。
我们重点说说Start部分的FStart和C.Start。
C.Start也是可以省略的,省略的话就表示从本域的开头部分开始。之前例子中的-k 2和-k 3就是省略了C.Start的例子喽。
FStart.CStart,其中FStart就是表示使用的域,而CStart则表示在FStart域中从第几个字符开始算“排序首字符”。
同理,在End部分中,你可以设定FEnd.CEnd,如果你省略.CEnd,则表示结尾到“域尾”,即本域的最后一个字符。或者,如果你将CEnd设定为0(零),也是表示结尾到“域尾”。
在modifier部分还可以用到的选项:
可以用到b、d、f、i、n 或 r。
其中n和r你肯定已经很熟悉了。
b表示忽略本域的签到空白符号。
d表示对本域按照字典顺序排序(即,只考虑空白和字母)。
f表示对本域忽略大小写进行排序。
i表示忽略“不可打印字符”,只针对可打印字符进行排序。(有些ASCII就是不可打印字符,比如\a是报警,\b是退格,\n是换行,\r是回车等等)
另外有时候在sort命令后会看到+1 -2这些符号,这是什么东东?请忽略它,现在手册也已经没有这个介绍了,是一种相当古老的用法。
实例:
以第一个关键列的第二个字母开始进行排序:
$ sort -k 1.2 file.txt
以关键列第一列的第二个字母进行排序,如果第二个字母相同则根据第三列以数值的标准进行降序排列。
$ sort -k 1.2,1.2 -k 3,3nr file.txt
- linux/unix命令详解之sort
- linux/unix命令详解之find
- linux/unix命令详解之sed
- linux/unix命令详解之crontab
- linux/unix命令详解之find
- linux/unix命令详解之sed
- linux sort 命令详解
- linux sort 命令详解
- linux sort 命令详解
- Linux sort命令详解
- linux sort 命令详解
- linux sort 命令详解
- linux sort 命令详解
- linux sort 命令详解
- linux sort 命令详解
- linux sort 命令详解
- linux sort 命令详解
- Linux sort命令详解
- jQuery的基础知识二
- 关于程序员的冷笑话 (转载www.lenxiaohuadaquan.net )
- 正则表达式
- android 编译小结,模拟器打包~
- java.lang.ClassCastException: 异常处理
- linux/unix命令详解之sort
- Android 对于第三方预置可卸载的apk,如何客制化其在主题中的资源?
- js正则函数match、exec、test、search、replace、split使用介绍 详细出处参考:http://www.jb51.net/article/28007.htm
- Linux 下 查看以及修改文件权限
- linux/unix命令详解之sed
- js获取select标签选中的值
- opencv在2010中的配置
- Java实现的AES加解密程序
- 关于json-lib 和hibernate一起使用的时候出现死循环的解决办法