【注】具体详解参见 man 手册和 info 手册。
1. 简介
sort
命令用于对给定的文件中的行进行排序并写到标准输出上。如果没有给定文件或者给定的文件名为 -
,则从标准输入读取数据。
2. 格式
代码语言:javascript复制sort [OPTION]... [FILE]...
sort [OPTION]... --files0-from=F
其中,OPTION
指定选项参数,FILE
指定文件名,--files0-from
指定文件名分隔符为全零字节(ASCII NUL)。
3. 选项
选项参数 | 说明 |
---|---|
-b, --ignore-leading-blanks | 忽略行数据开头的空格 |
-d, --dictionary-order | 排序比较字符只考虑空格、字母和数字 |
-f, --ignore-case | 将小写字母折合为大写字母进行排序比较 |
-g, --general-numeric-sort | 按照通常的字符数值进行排序比较 |
-i, --ignore-nonprinting | 仅考虑可打印字符 |
-M, --month-sort | 按 (unknown) < ‘JAN’ < ⋯cdots⋯ < ‘DEC’ 规则(月份大小)进行排序比较 |
-h, --human-numeric-sort | 按照人眼可读的数值大小(带数量级字母)进行排序比较(比如 3K < 2M < 1G) |
-n, --numeric-sort | 按照字符串的数值大小进行排序比较 |
-R, --random-sort | 按随机顺序输出(对于相同的行会进行分组) |
--random-source=FILE | 从文件 FILE 中获取随机种子 |
-r, --reverse | 翻转排序顺序 |
--sort=WORD | 按照 WORD 指定的规则进行排序比较(WORD 可取值有:general-numeric 、human-numeric 、month 、numeric 、random 、version;依次等价于 -g 、-h 、-M 、-n 、-R 、-V 选项) |
-V, --version-sort | 按照版本信息进行排序比较 |
-c, --check, --check=diagnose-first | 检查输入数据是否有序(不对数据进行排序操作) |
-C, --check=quiet, --check=silent | 检查输入数据是否有序但不输第一个导致无序的行信息 |
--debug | 注释出用于排序的部分,并给出一些警告信息 |
--files0-from=F | 从文件 F 中读取文件名作为输入文件,F 中的文件名使用全零字节(ASCII NUL)作为分隔符;如果 F 为 - 则从标准输入读取文件名 |
-k pos1[,pos2], --key=pos1[,pos2] | 指定用于排序的行文本字段(一行文本中的字段从左到右从 1 开始计数)若未给定 pos2,则默认到最后一个字段 |
-m, --merge | 归并多个已经有序的文件后输出 |
-o FILE, --output=FILE | 将结果写入 FILE 文件而不是标准输出 |
-s, --stable | 通过禁用最后的再分类比较来稳定排序 |
-S SIZE, --buffer-size=SIZE | 指定主存排序缓存大小为 SIZE |
-t SEP, --field-seperator=SEP | 指定 SEP 作为字段分隔符而不是空格 |
-T DIR, --temporary-directory=DIR | 指定 DIR 作为临时空间目录取代默认的 $TMPDIR 或 /tmp |
--parallel=N | 指定并发排序数为 N |
-u, --unique | 与 -c 合用,检查是否严格有序;不与 -c 合用,输出第一个导致不严格有序的行信息 |
-z, --zero-terminated | 指定行界定符为全零字节(ASCII NUL)而不是换行符 |
--help | 显示帮助信息 |
--version | 显示版本信息 |