sort命令-将文件进行排序并输出

本文详细介绍Linux下sort命令的使用方法,包括语法格式、常用参数及其功能。通过实例演示如何进行文本排序、去除重复行,以及如何指定排序依据和方向。

功能介绍:

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

语法格式:sort [参数] [文件]

常用参数:

-b忽略每行前面开始出的空格字符。
-c检查文件是否已经按照顺序排序。
-d排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f排序时,将小写字母视为大写字母。
-i排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-m将几个排序号的文件进行合并。
-M将前面3个字母依照月份的缩写进行排序。
-n依照数值的大小排序。
-o <输出文件>将排序后的结果存入制定的文件。
-r以相反的顺序来排序。
-t <分隔字符>指定排序时所用的栏位分隔字符。
-k指定需要排序的栏位

参考实例:

sort将文件/文本的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出:

[root@linuxcool ~]# cat sort.txt 
 AA:10:1.1
 CC:30:3.3
 DD:40:4.4
 BB:20:2.2
 FF:60:6.6
 FF:60:6.6
 EE:50:5.5
 [root@linuxcool ~]# sort sort.txt 
 AA:10:1.1
 BB:20:2.2
 CC:30:3.3
 DD:40:4.4
 EE:50:5.5
 FF:60:6.6
 FF:60:6.6

忽略相同行使用-u选项或者uniq:

[root@linuxcool ~]# cat sort.txt 
 AA:10:1.1
 CC:30:3.3
 DD:40:4.4
 BB:20:2.2
 FF:60:6.6
 FF:60:6.6
 EE:50:5.5
 [root@linuxcool ~]# sort -u sort.txt 
 AA:10:1.1
 BB:20:2.2
 CC:30:3.3
 DD:40:4.4
 EE:50:5.5
 FF:60:6.6
 [root@linuxcool ~]# uniq sort.txt 
 AA:10:1.1
 CC:30:3.3
 DD:40:4.4
 BB:20:2.2
 FF:60:6.6
 EE:50:5.5

sort的-n、-r、-k、-t选项的使用:

[root@linuxcool ~]# cat sort.txt 
 AA:BB:CC
 aa:30:1.9
 cc:50:3.3
 dd:20:4.2
 bb:10:2.4
 ee:40:5.3
 ee:60:5.1
 #将BB列按照数字从小到大顺序排列:
 [root@linuxcool ~]# sort -nk 2 -t: sort.txt
 AA:BB:CC
 bb:10:2.4
 dd:20:4.2
 aa:30:1.9
 ee:40:5.3
 cc:50:3.3
 ee:60:5.1
 #将CC列数字从大到小顺序排列:
 [root@linuxcool ~]# sort -nrk 3 -t: sort.txt
 ee:40:5.3
 ee:60:5.1
 dd:20:4.2
 cc:50:3.3
 bb:10:2.4
 aa:30:1.9
 AA:BB:CC
 #-n是按照数字大小排序,-r是以相反顺序,-k是指定需要排序的栏位,-t指定栏位分隔符  为冒号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值