一、命令简介
Linux sort命令用于将文本文件内容加以排序。sort可针对文本文件的内容,以行为单位来排序。sort命令将每一行作为一个单位进行比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按一定的顺序进行输出。sort命令经常可以与ls、cat等命令结合使用,将查询到的结果按照我们要求进行排序。
二、使用示例
1、默认安装字母排序
[[email protected] ~]# cat word.txt
one
two
two
three
four
[[email protected] ~]# sort word.txt
four
one
three
two
two
2、安装数字大小排序
[[email protected] ~]# cat num.txt
10
8
20
100
4
[[email protected] ~]# sort -n num.txt
4
8
10
20
100
3、去重后排序
[[email protected] ~]# sort -u word.txt
four
one
three
two
4、按照降序排序
[[email protected] ~]# sort -ur word.txt
two
three
one
four
5、文件夹大小排序
![]()
Linux命令之sort命令一、命令简介二、使用示例三、使用语法及参数说明
6、指定分隔符并按照指定列排序
![]()
Linux命令之sort命令一、命令简介二、使用示例三、使用语法及参数说明
7、将排序结果输出到文件
[roo[email protected] var]# sort -t ‘:’ -k 3 -nr /etc/passwd > /tmp/out.log
[[email protected] var]# cat /tmp/out.log
![]()
Linux命令之sort命令一、命令简介二、使用示例三、使用语法及参数说明
三、使用语法及参数说明
1、使用语法
用法:
#sort 选项 文件
#sort 选项 --files0-from=F
2、参数说明
参数 | 参数说明 |
---|---|
-b, --ignore-leading-blanks | 忽略每行前面开始出的空格字符。 |
-c, --check, --check=diagnose-first | 检查文件是否已经按照顺序排序。 |
-C, --check=quiet, --check=silent | 与-c参数类似,但不要报告第一行错误 |
-d, --dictionary-order | 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 |
-g, --general-numeric-sort | 按一般数值比较 |
-f, --ignore-case | 排序时,将小写字母视为大写字母。 |
-i , --ignore-nonprinting | 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 |
-m , --merge | 将几个排序好的文件进行合并。 |
-M , --month-sort | 将前面3个字母依照月份的缩写进行排序。 |
-n, --numeric-sort | 依照数值的大小排序。 |
-u , --unique | 意味着是唯一的(unique),输出的结果是去完重了的。 |
-o<输出文件> | 将排序后的结果存入指定的文件。 |
-r | 以相反的顺序来排序。 |
-R, --random-sort –random-source=FILE | 按密钥的随机散列排序 |
-t<分隔字符> | 指定排序时所用的栏位分隔字符。 |
-k, --key=KEYDEF | 通过键排序;KEYDEF给出位置和类型 |
-o, --output=FILE | 将结果写入文件而不是标准输出 |
-s, --stable | 通过禁用最后的比较来稳定排序 |
-S, --buffer-size=SIZE | 使用主内存缓冲区大小 |
-t, --field-separator=SEP | 使用SEP代替非空到空转换 |
-T, --temporary-directory=DIR | 将DIR用于临时变量,而不是$TMPDIR或/tmp; 多个选项指定多个目录 |
-u, --unique | 与-c一起,检查是否严格排序; 没有-c,则只输出相等运行的第一个 |
-z, --zero-terminated | 以0字节结束行,而不是换行 |
+<起始栏位>-<结束栏位> | 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 |
–help | 显示帮助。 |
–version | 显示版本信息。 |