Sort

Linux Command Sort

Sort

sort命令是Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入

1
2
3
sort [OPTION]... [FILE]...
or
sort [OPTION]... --files0-from=F

将所有FILE的排序序列写入标准输出。

如果没有指定FILE,或者指定FILE为-,则从控制台读取标准输入。

长选项的强制参数和短选项的强制参数是等价的。

Example

1
2
3
4
5
6
7
8
9
10
# 对data数据的第三列排序,分隔符为,
sort -t, -nk3 data
#对当前文件夹中文件的第八列时间进行排序
ll -h /sort -k 8
# 排序去重
sort -u
# 使用-h参数,按照人类习惯阅读方式比较文件大小
sort -h
# 排序取反
sort -r

选项

  • -b, --ignore-leading-blanks
    忽略每行前面开始出的空格字符。

  • -h, --human-numeric-sort
    比较人类可读数字(2K 10G)

  • -n, --numeric-sort
    依照数值的大小排序

  • -k, --key=KEYDEF
    通过键排序;KEYDEF给出位置或者类型

  • -r, --reverse
    反转比较结果

  • -t, --field-separator=SEP
    指定排序时所用的栏位分隔字符

  • -u, --unique
    -c连用,检查严格排序
    没有-c,输出相同运行结果的第一个

  • -z, --zero-terminated
    行分隔符为NUL,而不是换行符

  • -o, --output=FILE
    输出结果到文件,而不是控制台

  • -d, --dictionary-order
    排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

  • -f, --ignore-case
    排序时将小写字母转换为大写字母

  • -g, --general-numeric-sort
    按一般数值比较

  • -i, --ignore-nonprinting
    只考虑可打印字符

  • -M, --month-sort
    将前面3个字母依照月份的缩写进行排序

  • -R, --random-sort

  • --random-source=FILE
    从FILE中获取随机字节

  • --sort=WORD
    根据WORD排序

  • -V, --version-sort
    文本中的自然排序数字

  • --batch-size=NMERGE
    一次合并多个输入

  • -c, --check, --check=diagnose-first
    检查排序后的输入(no sort)

  • -C, --check=quiet, --check=silent
    -c相似,但是不会报错

  • --compress-program=PROG
    使用PROG压缩临时文件,使用PROG -d解压缩

  • --debug
    注释行中用于排序的部分,并对stderr的可疑用法发出警告

  • --files0-from=F
    从指定的中以null结尾的F文件中读取输入文件;如果F为-则从标准输入中读取名称

  • -m, --merge
    合并已经排序的文件,不进行sort

  • -s, --stable
    通过禁用最后的比较来稳定排序

  • -S, --buffer-size=SIZE
    使用SIZE作为主缓存区

  • -T, --temporary-directory=DIR
    指定临时文件储存区

  • --parallel=N
    将同时运行的排序数量更改为N

  • --help
    输出帮助

  • --version
    输出版本信息