linux sort 的选项(参数)与用法举例
最近一直在间隙性的做着一些统计的工作,所以接触了许多实际工作中用到的一些命令,而这些命令又无一不是有着丰富的参数,这大概是linux系统特有的吧。不了解这些参数就不能好好的工作,当然也就会让你陷入被动。今天就来为大家介绍一个在linux下非常有用的命令:sort。
因为公司用的机器是freeBSD,所以指定的sort的选项和用法可能和标准linux的不太一致。不过大抵是相同的。
本文分成三个部分,分别为大家介绍sort的作用、sort的选项(参数)及其含义、以及一些简单的示例。
sort的作用与用法
NAME
sort – sort lines of text filesSYNOPSIS
sort [OPTION]… [FILE]…DESCRIPTION
Write sorted concatenation of all FILE(s) to standard output.
sort的选项及含义
| 选项 | 含义 |
|---|---|
| -b | –ignore-leading-blanks ignore leading blanks 忽略前导空格 |
| -d | –dictionary-order 字典排序,仅考虑空格、数字和字符 |
| -f | –ignore-case 忽略大小写,这里忽略的比较有意思,是将小写全转为大写后比较 |
| -g | –general-numeric-sort 按照数值来比较 |
| -i | –ignore-nonprinting 只考虑可打印的字符,忽略任何非显示字符 |
| -M | –month-sort 按照月份来比较,是英文的月份哦(compare (unknown) < `JAN' < ... < `DEC') |
| -n | –numeric-sort 按字符串的数值来比较,可包含前导空格、可选减号、十进制数字、千分位分隔符和可选基数符 |
| -r | –reverse 按倒序排列 |
| -c | –check 检查待排序文件是否已经按照指定的排列顺序排好序了 |
| -k | –key=POS1[,POS2] 指定一个或几个字段作为排序关键字,字段位置从posl开始,到pos2为止(包括post1但是不包括post2),如不指定pos2,则关键字为从posl到行尾。字段和字符的位置从0开始。FREEBSD是从1开始 |
| -m | –merge 只是单纯的合并已经排好序的文件,不再对合并后的文件进行排序 |
| -o | –output=FILE 将输出结果保存到指定的文件中,而不是在标准输出(显示器)上显示结果 |
| -s | –stable stabilize sort by disabling last-resort comparison |
| -S | –buffer-size=SIZE 设置主内存的大小缓冲区 |
| -t | –field-separator=SEP 使用指定的字符作为字段分隔符,默认为空格 |
| -T | –temporary-directory=DIR 将临时文档放入指定的临时文件夹,而不是默认的$TMPDIR 或/tmp; |
| -u | –unique 对排序后相同的行只保留一行,即消重 |
| -z | –zero-terminated 自然结尾——0bytes,而不是使用一个新行 |
Demo
简单测试文件:demo.txt
3
4
6
9
8
7
2
5
10
为了不占用太多空间造成浪费,我将结果以一行的形式展现给大家,勿怪~
#1 10 2 3 4 5 6 7 8 9
sort -n demo.txt
#1 2 3 4 5 6 7 8 9 10
sort -nr demo.txt
#10 9 8 7 6 5 4 3 2 1
总结及说明
sort这个命令我对其一直是怀着恐惧心理的,因为其力量强大且参数众多不好驾驭,我现在也是一知半解。对一些高端用法不是很清楚。
这里其实最主要的是给大家说明一下其参数的含义,让大家心里有个数~~
文章作者:simaopig
本文地址:http://www.xiaoxiaozi.com/2009/12/01/1652/
版权所有 © 转载时必须以链接形式注明作者和原始出处!
路过。。
[回复]