天天看点

Linux命令之sort命令一、命令简介二、使用示例三、使用语法及参数说明

一、命令简介

  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 显示版本信息。