sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。那么Linux系统sort排序命令怎么使用呢?小编为大家分享了Linux系统sort排序命令的使用方法,下面大家跟着学习啦小编一起来了解一下吧。

Linux系统sort排序命令的使用方法

1 sort的工作原理

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

[rocrocket@rocrocket programming]$ cat seq.txt

banana

apple

pear

orange

[rocrocket@rocrocket programming]$ sort seq.txt

apple

banana

orange

pear

2 sort的-u选项

它的作用很简单,就是在输出行中去除重复行。

[rocrocket@rocrocket programming]$ cat seq.txt

banana

apple

pear

orange

pear

[rocrocket@rocrocket programming]$ sort seq.txt

apple

banana

orange

pear

pear

[rocrocket@rocrocket programming]$ sort -u seq.txt

apple

banana

orange

pear

pear由于重复被-u选项无情的删除了。

3 sort的-r选项

sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。

[rocrocket@rocrocket programming]$ cat number.txt

1

3

5

2

4

[rocrocket@rocrocket programming]$ sort number.txt

1

2

3

4

5

[rocrocket@rocrocket programming]$ sort -r number.txt

5

4

3

2

1

4 sort的-o选项

由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。

但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。

[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt

[rocrocket@rocrocket programming]$ cat number.txt

[rocrocket@rocrocket programming]$

看,竟然将number清空了。

就在这个时候,-o选项出现了,它成功的解决了这个问题,让你放心的将结果写入原文件。这或许也是-o比重定向的唯一优势所在。

[rocrocket@rocrocket programming]$ cat number.txt

1

3

5

2

4

[rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt

[rocrocket@rocrocket programming]$ cat number.txt

5

4

3

2

1

5 sort的-n选项

你有没有遇到过10比2小的情况。我反正遇到过。出现这种情况是由于排序程序将这些数字按字符来排序了,排序程序会先比较1和2,显然1小,所以就将10放在2前面喽。这也是sort的一贯作风。

我们如果想改变这种现状,就要使用-n选项,来告诉sort,“要以数值来排序”!

[rocrocket@rocrocket programming]$ cat number.txt

1

10

19

11

2

5

[rocrocket@rocrocket programming]$ sort number.txt

1

10

11

19

2

5

[rocrocket@rocrocket programming]$ sort -n number.txt

1

2

5

10

11

19

6 sort的-t选项和-k选项

如果有一个文件的内容是这样:

[rocrocket@rocrocket programming]$ cat facebook.txt

banana:30:5.5

apple:10:2.5

pear:90:2.3

orange:20:3.4

这个文件有三列,列与列之间用冒号隔开了,第一列表示水果类型,第二列表示水果数量,第三列表示水果价格。

那么我想以水果数量来排序,也就是以第二列来排序,如何利用sort实现?

幸好,sort提供了-t选项,后面可以设定间隔符。(是不是想起了cut和paste的-d选项,共鸣~~)

指定了间隔符之后,就可以用-k来指定列数了。

[rocrocket@rocrocket programming]$ sort -n -k 2 -t : facebook.txt

apple:10:2.5

orange:20:3.4

banana:30:5.5

pear:90:2.3

我们使用冒号作为间隔符,并针对第二列来进行数值升序排序,结果很令人满意。

linux中对数据怎么降序,Linux系统sort排序命令怎么使用相关推荐

  1. linux数据包注释,关于 linux中TCP数据包(SKB)序列号的小笔记

    关于  SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq  一直没有找到seq 不清楚在那里初始化了,就 ...

  2. linux修改数据库内容命令,linux中的数据库命令

    linux中的数据库命令包括链接,重启,关闭等等.下面由学习啦小编为大家整理了linux下的数据库命令的相关知识,希望对大家有帮助! 一.linux下启动mysql数据库的命令 1. mysqladm ...

  3. linux中bash的功能主要有,Linux系统中的Bash功能的介绍

    今天小编要跟大家分享的文章是关于Linux系统中的Bash功能的介绍.一个完整计算机的体系结构包括:硬件与软件,而软件又分为系统软件与应用软件,负责对硬件仅需管理与操作的是系统软件的内核部分,用户是无 ...

  4. Excel怎样按行排序,干货经验!如何将行数据进行降序排序详细讲解

    我们在使用excel表格软件通常记录大部分数据信息需要排序进行查看,这样会更加清晰明了的参考数据,那么我们想要进行行排序应该怎样做呢?下面就来一起看看如何进行对行数据的降序排序. 首先我们打开需要编辑 ...

  5. Linux下dislocate命令用法,在 Linux 中遨游手册页的海洋 | Linux 中国

    原标题:在 Linux 中遨游手册页的海洋 | Linux 中国 Linux 系统上的手册页可以做的不仅仅是提供特定命令的信息.它们可以帮助你发现你没有意识到的命令. https://linux.cn ...

  6. Mysql中的升序和降序以及一个字段升序和一个字段降序

    [Mysql中的升序和降序以及一个字段升序和一个字段降序](https://www.wuhaiqiao.com/2020/304.html)

  7. linux中打开pdf文件_在Linux中减少PDF文件大小

    linux中打开pdf文件 In our Linux system, If we have a large PDF file, we may want to reduce it's size. We ...

  8. linux中的绝对路径 lt gt,Linux中目录以及路径问题

    具体参考:https://www.cnblogs.com/OctoptusLian/p/8546580.html 在Linux中,存在着绝对路径和相对路径 绝对路径:路径的写法一定是由根目录 / 写起 ...

  9. python中对数字降序和升序_该程序查找在Python中按升序或降序排列数字的最低成本...

    假设我们有一个称为nums的数字列表,我们必须找到最小成本以任何顺序(升序或降序)对列表进行排序.此处的成本是任何元素的旧值和新值之间的差总和. 因此,如果输入类似于[2,5,4],则输出将为2. 为 ...

最新文章

  1. 基于深度学习方法的3D数据合成
  2. 算法系列15天速成——第十天 栈
  3. 2014.5.2—北京爱情故事
  4. 补3.31 部分成果以及上周的工作
  5. python的__init__几种方法总结【转载】
  6. 笔记-信息化与系统集成技术-区块链的特征
  7. [攻防世界 pwn]——hello_pwn
  8. node.js 爬虫入门总结
  9. 为什么要使用Node.js进行数据科学
  10. mysql开启slowquery_log_MySQL slow_query_log慢查询日志配置详解
  11. 阿里云云计算 50 云监控的使用
  12. 魔方java3d,CSS3 制作魔方 - 相关立体样式
  13. Ubuntu系统中IPFS环境的配置
  14. ubuntu wifi bcm4322 安装驱动
  15. 【经验】金蝶KIS专业版更换系统后如何导入财务账套数据
  16. 对冲基金母基金(FoHF)
  17. 容量法和库仑法的异同点_库伦法水分仪和容量法的区别与差异
  18. Google的福娃Logo,还真是很漂亮。
  19. 奇偶数分离c语言,如何把一个整型数组中,奇数偶数进行分离 怎么使数组进行奇偶奇偶相间排序...
  20. [转]rpcndr.h和wtypes.h冲突Bug的解决方案

热门文章

  1. java转换 HTML字符实体,java特殊字符转义字符串
  2. Spring同一个类中注解方法互相调用的问题
  3. ubuntu good 便签
  4. Linux的远程登陆
  5. 让你的网站首页自动选择语言转跳
  6. 华为鸿蒙os什么时候发布,鸿蒙OS将于今天发布
  7. 【写作技巧】毕业论文写作:本科、硕士论文写作必备数据库
  8. 删除悬镜linux安装教程,Linux安全运维之如何活用history命令
  9. 可以进行单元测试么_大量实例助攻,让你的单元测试更高效
  10. php跨进程内存共享,进程管理与内存共享