排序和把相同的放到一起;

42.1、sort命令介绍:

sort命令是一个排序介绍,简而言之就是以什么为分割符,对第几列进行什么排序操作;

42.2、sort命令参数介绍:

-u #去重,会直接把重复的去除 和sort uniq.txt | uniq 等价;

-r #降序,默认的参数是升序;

-n #按照数字进行排序;

-t #指定分割符,默认是空字符串为分割符,类似于awk的-F(awk 默认也是以字符为分割符的),cut的-d;

-k #指定从第几列进行排序,要先指定分割符,默认的分割符是空格;

-k 1,3 #用逗号进行分割字段,指定多列进行排序,表示以第一列和第二列数据进行排序;

-k 1.1,3.3 #;用点号分割字符,表示对第一列的第一个字符到第三列的第三个字符进行排序,此方法可以使用多个k值;

sort如果没有任何参数情况下是:

把相同的放到一起,以空字符串为分割符,然后按第一列进行升序排序;

42.3、实验案例1:

1、实验数据:

[root@backup scripts]# cat sort.txt

10.0.0.9

10.0.0.8

10.0.0.7

10.0.0.7

10.0.0.8

10.0.0.8

10.0.0.9

2、不加参数:

[root@backup scripts]# sort sort.txt

10.0.0.7

10.0.0.7

10.0.0.8

10.0.0.8

10.0.0.8

10.0.0.9

10.0.0.9

3、-n参数:

#按照数字进行升序排序;

[root@backup scripts]# sort -n sort.txt

10.0.0.7

10.0.0.7

10.0.0.8

10.0.0.8

10.0.0.8

10.0.0.9

10.0.0.9

4、-r参数:

#对数据进行降序排列;

[root@backup scripts]# sort -r sort.txt

10.0.0.9

10.0.0.9

10.0.0.8

10.0.0.8

10.0.0.8

10.0.0.7

10.0.0.7

5、按照数字进行降序排列:

[root@backup scripts]# sort -rn sort.txt

10.0.0.9

10.0.0.9

10.0.0.8

10.0.0.8

10.0.0.8

10.0.0.7

10.0.0.7

42.4、实验案例2:

1、实验数据:

[root@backup scripts]# cat sort.txt

10.0.0.9 a

10.0.0.8 k

10.0.0.7 r

10.0.0.7 n

10.0.0.8 c

10.0.0.8 z

10.0.0.9 o

2、指定分割符和指定的列进行排序:

[root@backup scripts]# sort -t " " -k 2 sort.txt

10.0.0.9 a

10.0.0.8 c

10.0.0.8 k

10.0.0.7 n

10.0.0.9 o

10.0.0.7 r

10.0.0.8 z

[root@backup scripts]# sort -k 2 sort.txt

10.0.0.9 a

10.0.0.8 c

10.0.0.8 k

10.0.0.7 n

10.0.0.9 o

10.0.0.7 r

10.0.0.8 z

42.5、企业案例:

1、对mac地址指定多列进行排序:

1)实验数据:

[root@backup scripts]# cat mac.txt

192.168.3.12 00:30:15:A2:3A:A1

192.168.3.10 00:30:15:A2:3B:B6

192.168.3.3 00:0F:AF:85:70:42

192.168.3.3 00:0F:AF:85:70:42

192.168.3.2 00:0F:AF:85:6C:42

192.168.3.1 00:0F:AF:81:19:1F

192.168.2.22 00:0F:AF:85:5C:41

192.168.2.22 00:0F:AF:85:5C:41

192.168.2.21 00:0F:AF:85:6C:09

192.168.2.20 00:0F:AF:85:55:DE

192.168.2.2 00:0F:AF:85:55:DE

192.168.1.152 00:0F:AF:85:6C:25

2)方法一:

[root@backup scripts]# sort -t "." -k 3.1,3.1 -nr -k 4.1,4.3 -nr mac.txt

192.168.3.12 00:30:15:A2:3A:A1

192.168.3.10 00:30:15:A2:3B:B6

192.168.3.3 00:0F:AF:85:70:42

192.168.3.3 00:0F:AF:85:70:42

192.168.3.2 00:0F:AF:85:6C:42

192.168.3.1 00:0F:AF:81:19:1F

192.168.2.22 00:0F:AF:85:5C:41

192.168.2.22 00:0F:AF:85:5C:41

192.168.2.21 00:0F:AF:85:6C:09

192.168.2.20 00:0F:AF:85:55:DE

192.168.2.2 00:0F:AF:85:55:DE

192.168.1.152 00:0F:AF:85:6C:25

2、查看系统磁盘使用大小:

du -h --max-depth=1 / | sort -n

最新文章

  1. SQL Server 2005 处理交叉表
  2. 【GoLang】GoLang GOPATH 工程管理 最佳实践
  3. 怎样用PHP制作验证码呢?
  4. [datatable]两个DataTable 连接
  5. 自定义uiview 当没有数据的时候 显示自定义的uiview界面
  6. Unique Binary Search Tree II
  7. Oracle存储过程创建及调用(转)
  8. EF RepositoryBase 参考示例【转】
  9. 【转】IOS AutoLayout详解(三)用代码实现(附Demo下载)
  10. 马士兵Servlet&Jsp学习
  11. 【剑指offer】面试题31:连续子数组的最大和
  12. C++ 复制功能
  13. QQ音乐的动效歌词是如何实践的?
  14. Flutter之CustomView
  15. WCF 非http寄宿IIS
  16. 微信的NATIVE支付提示201商户订单号重复的解决方案
  17. 五分钟搞清楚MySQL事务隔离级别
  18. Django读取Mysql数据并显示在前端
  19. php的方法
  20. VC设置cookies实现文件刷下载量

热门文章

  1. [bug] mysql 忘记密码
  2. lsblk         查看分区和磁盘
  3. Linux创建RAID5_实战
  4. 使用 dd 命令进行硬盘 I/O 性能检测
  5. Java 语言的主要特性
  6. SUSE12 网卡配置、SSH远程配置、解决CRT密钥交换失败,没有兼容的加密程序
  7. java 计算下面级数之和 1/3+3/5+5/7+...+97/99
  8. zookeeper之二:zookeeper3.7.0安装过程实操
  9. Java List去重以及效率分析
  10. Docker环境下运行python+selenium+chrome