LinuxShell命令sort

2022-02-28 20:14:34 浏览数 (1)

【注】具体详解参见 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

显示版本信息

0 人点赞