linux 以行为单位,sort命令对文本文件的内容以行为单位来排序

1.释义

对文本文件的内容以行为单位来排序

2.系统帮助

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

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

Write sorted concatenation of all FILE(s) to standard output.

Mandatory arguments to long options are mandatory for short options too.

排序选项:

-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 使用了-t参数之后,指定使用第几列排序或指定第几列

的几个字符排序,一般加-n参数

-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显示版本信息并退出

KEYDEF is F[.C][OPTS][,F[.C][OPTS]] for start and stop position, where F is a

field number and C a character position in the field; both are origin 1, and

the stop position defaults to the line's end. If neither -t nor -b is in

effect, characters in a field are counted from the beginning of the preceding

whitespace. OPTS is one or more single-letter ordering options [bdfgiMhnRrV],

which override global ordering options for that key. If no key is given, use

the entire line as the key.

SIZE may be followed by the following multiplicative suffixes:

内存使用率% 1%,b 1、K 1024 (默认),M、G、T、P、E、Z、Y 等依此类推。

如果不指定文件,或者文件为"-",则从标准输入读取数据。

*** 警告 ***

本地环境变量会影响排序结果。

如果希望以字节的自然值获得最传统的排序结果,请设置LC_ALL=C。

GNU coreutils online help:

请向 报告sort 的翻译错误

要获取完整文档,请运行:info coreutils 'sort invocation'

3.示例

3.1.按默认排序

[root@itbkz.com tmp]#cat test.txt

3:b

2:c

14:a

5:e

1:d

11:f

[root@itbkz.com tmp]#sort test.txt

11:f

14:a

1:d

2:c

3:b

5:e

9963.html

3.2.数字从小到大排序

[root@itbkz.com tmp]#cat test.txt

3:b

2:c

14:a

5:e

1:d

11:f

[root@itbkz.com tmp]#sort -n test.txt

1:d

2:c

3:b

5:e

11:f

14:a

3.3.数字从大到小排序

[root@itbkz.com tmp]#cat test.txt

3:b

2:c

14:a

5:e

1:d

11:f

[root@itbkz.com tmp]#sort -r -n test.txt

14:a

11:f

5:e

3:b

2:c

1:d

3.4.按字母正序

[root@itbkz.com tmp]#cat test.txt

3:b

2:c

14:a

5:e

1:d

11:f

[root@itbkz.com tmp]#sort -t ":" -k2 test.txt

14:a

3:b

2:c

1:d

5:e

11:f

3.5.按字母倒序

[root@itbkz.com tmp]#cat test.txt

3:b

2:c

14:a

5:e

1:d

11:f

[root@itbkz.com tmp]#sort -t ":" -k2 -r test.txt

11:f

5:e

1:d

2:c

3:b

14:a

3.6.多列分割排序

[root@itbkz.com tmp]#cat ip.txt

192.168.2.1 78-44-fd-e9-79-85

192.168.2.10 01-00-5e-00-00-ff

192.168.2.100 78-44-fd-e9-79-83

192.168.100.100 78-44-fd-e9-79-88

192.168.2.222 78-44-fd-e9-79-8

192.168.2.22 01-00-5e-00-01-fb

192.168.2.2 01-00-5e-00-02-fb

192.168.33.33 01-00-5e-00-00-fb

192.168.33.100 01-00-5e-00-00-fb

[root@itbkz.com tmp]#sort -t "." -n -k3.1,3.3 -k4.1,4.3 ip.txt

192.168.2.1 78-44-fd-e9-79-85

192.168.2.10 01-00-5e-00-00-ff

192.168.2.100 78-44-fd-e9-79-83

192.168.2.2 01-00-5e-00-02-fb

192.168.2.22 01-00-5e-00-01-fb

192.168.2.222 78-44-fd-e9-79-8

192.168.33.33 01-00-5e-00-00-fb

192.168.33.100 01-00-5e-00-00-fb

192.168.100.100 78-44-fd-e9-79-88

-k3.1,3.3:代表第三列的第一个字符到第三个字符

-k4.1,4.3:代表第四列的第一个字符到第三个字符

IT博客站版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权

转载请注明原文链接:sort命令对文本文件的内容以行为单位来排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值