Linux幼儿园

  • 首页
  • 信息安全
  • 防火墙
  • 知识点
  • 活动目录
  • 硬件
  • 软件
  • linux干货
  • linux命令集
    • 备份压缩
    • 文件传输
    • 文件管理
    • 文档编辑
    • 磁盘管理
    • 系统管理
    • 网络通讯
    • 设备管理
    • 其他命令
  1. 首页
  2. linux命令集
  3. 文件管理
  4. 正文

sort命令 - 排序文件并输出

04/19/2019 352点热度 0人点赞 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@linuxvip ~]# 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@linuxvip ~]# 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@linuxvip ~]# 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@linuxvip ~]# 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@linuxvip ~]# 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@linuxvip ~]# 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@linuxvip ~]# 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@linuxvip ~]# 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
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:04/19/2019

JJJ

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2021 linuxvip.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

TrustAsia 安全签章