首页 > linux > linux sort 的选项(参数)与用法举例
2009十二月1

linux sort 的选项(参数)与用法举例

最近一直在间隙性的做着一些统计的工作,所以接触了许多实际工作中用到的一些命令,而这些命令又无一不是有着丰富的参数,这大概是linux系统特有的吧。不了解这些参数就不能好好的工作,当然也就会让你陷入被动。今天就来为大家介绍一个在linux下非常有用的命令:sort。

因为公司用的机器是freeBSD,所以指定的sort的选项和用法可能和标准linux的不太一致。不过大抵是相同的。

本文分成三个部分,分别为大家介绍sort的作用、sort的选项(参数)及其含义、以及一些简单的示例。

sort的作用与用法

NAME
sort – sort lines of text files

SYNOPSIS
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

1
3
4
6
9
8
7
2
5
10

为了不占用太多空间造成浪费,我将结果以一行的形式展现给大家,勿怪~

sort demo.txt
#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/
版权所有 © 转载时必须以链接形式注明作者和原始出处!

One Response to “linux sort 的选项(参数)与用法举例”

  1. #1 回复 | 引用 Post:2009-12-02 16:02

    路过。。

    [回复]

发表评论

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)