LinuxShell命令sort
【注】具体详解参见 man 手册和 info 手册。
1. 简介
sort
命令用于对给定的文件中的行进行排序并写到标准输出上。如果没有给定文件或者给定的文件名为 -
,则从标准输入读取数据。
2. 格式
1 |
|
其中,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' < < '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 |
显示版本信息 |
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!