sort命令 – 排序文件并输出

Linux命令 统信UOS系统管理员 4周前 (03-20) 29次浏览 0个评论 扫描二维码

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

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

常用参数:

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

参考实例

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

[root@xtuos.com ~]# 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@xtuos.com ~]# 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@xtuos.com ~]# 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@xtuos.com ~]# 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@xtuos.com ~]# 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@xtuos.com ~]# 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
[root@xtuos.com ~]# 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
[root@xtuos.com ~]# 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


统信UOS之家 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:sort命令 – 排序文件并输出
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址