Linux sort
命令用于将文本内容进行排序。
官方定义为:
sort
- sort lines of text files
$ sort [OPTION]... [FILE]...
$ sort [OPTION]... --files0-from=F
常用的参数为:
-c
检查文件是否已经按照顺序排序。-u
意味着是唯一的(unique),输出的结果是去完重了的。-r
以相反的顺序来排序。-k field1[,field2]
按指定的列进行排序。这里假定测试文件名为testfile:
LiSi 80
ZhangSan 70
WangWu 90
MaLiu 88
在使用 sort
命令以默认的式对文件的行进行排序,命令如下:
$ sort testfile
LiSi 80
MaLiu 88
WangWu 90
ZhangSan 70
sort
命令默认情况下将第一列以 ASCII 码的次序排列,并将结果输出到标准输出。
对于测试文件而言,或许我们更希望使用数字来统计排序,此时可以使用-k N
参数,其中N为列数
$ sort testfile -k 2
ZhangSan 70
LiSi 80
MaLiu 88
WangWu 90
在某些情况下,或许只想看看文件是否已经排序,使用-c
参数 :
$ sort -c testfile
sort: testfile:2: disorder
如果没有排序会有输出,而排序的话就没有输出。
如果希望看一下数字从高到低的培训,使用-r
参数:
$ sort testfile -k 2 -r
WangWu 90
MaLiu 88
LiSi 80
ZhangSan 70