您的位置:首页 > 运维架构 > Shell

shell脚本之sort命令

2016-10-17 18:07 344 查看
sort
对文本进行排序操作,以行为单位,依次根据ASCII码值进行比较,默认的排序方式是升序


用法:sort [选项]... [文件]...

 或:sort [选项]... --files0-from=F

排序选项:

  -b, --ignore-leading-blanks 忽略前导的空白区域

  -d, --dictionary-order 只考虑空白区域和字母字符

  -f, --ignore-case 忽略字母大小写

  -g, --general-numeric-sort  compare according to general numerical value

  -i, --ignore-nonprinting    consider only printable characters

  -M, --month-sort            compare (unknown) < 'JAN' < ... < 'DEC'

  -h, --human-numeric-sort    使用易读性数字(例如: 2K 1G)

  -n, --numeric-sort 根据字符串数值比较

  -R, --random-sort 根据随机hash 排序

      --random-source=文件 从指定文件中获得随机字节

  -r, --reverse 逆序输出排序结果

      --sort=WORD 按照WORD 指定的格式排序:
一般数字-g,高可读性-h,月份-M,数字-n,
随机-R,版本-V

  -V, --version-sort 在文本内进行自然版本排序

其他选项:

      --batch-size=NMERGE 一次最多合并NMERGE 个输入;如果输入更多
则使用临时文件

  -c, --check, --check=diagnose-first 检查输入是否已排序,若已有序则不进行操作

  -C, --check=quiet, --check=silent 类似-c,但不报告第一个无序行

      --compress-program=程序 使用指定程序压缩临时文件;使用该程序
的-d 参数解压缩文件

      --debug 为用于排序的行添加注释,并将有可能有问题的
用法输出到标准错误输出

      --files0-from=文件 从指定文件读取以NUL 终止的名称,如果该文件被
指定为"-"则从标准输入读文件名

  -k, --key=KEYDEF          sort via a key; KEYDEF gives location and type(常与-t一起使用,指定列数)

  -m, --merge               merge already sorted files; do not sort

  -o, --output=文件 将结果写入到文件而非标准输出

  -s, --stable 禁用last-resort 比较以稳定比较算法

  -S, --buffer-size=大小 指定主内存缓存大小

  -t, --field-separator=分隔符 使用指定的分隔符代替非空格到空格的转换

  -T, --temporary-directory=目录 使用指定目录而非$TMPDIR 或/tmp 作为
临时目录,可用多个选项指定多个目录

      --parallel=N 将同时运行的排序数改变为N

  -u, --unique 配合-c,严格校验排序;不配合-c,则只输出一次排序结果

  -z, --zero-terminated 以0 字节而非新行作为行尾标志

      --help 显示此帮助信息并退出

      --version 显示版本信息并退出


常用例子:

#cat number.txt

12

1

6

6

#sort number.txt对文本内容进行升序排列

1

12

6

6

#sort -r number.txt 对文本内容进行降序排列

6

6

12

1

#sort -u number.txt 合并重复行进行排序

1

12

6

#sort -n number.txt 根据字符串数值比较

1

6

6

12
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux shell sort 脚本