sort以文件的每一行为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
用法:sort [OPTION]... [FILE]...
参 数:
-b 忽略每行前面开始出的空格字符。
-c 检查文件是否已经按照顺序排序。
-f 排序时,忽略大小写字母。
-M 将前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-k 选择以哪个区间进行排序。
-u 排序后相同的行只顯示一次。
sort的-o选项
由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。
例:
[root@localhost ~]# sort -r a.txt
6
5
4
3
2
1
[root@localhost ~]# sort -r a.txt >b
[root@localhost ~]# cat b
6
5
4
3
2
1
但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。
[root@localhost ~]# cat a.txt
6
5
4
3
2
1
[root@localhost ~]# sort -r a.txt >a.txt
[root@localhost ~]# cat a.txt
[root@localhost ~]#
a.txt 文件的內容被清空了。
-o選項可以把內容寫入原文件
[root@localhost ~]# cat a.txt
1
2
6
3
4
5
[root@localhost ~]# sort a.txt -o a.txt
[root@localhost ~]# cat a.txt
1
2
3
4
5
6