42、sort命令
排序和把相同的放到一起;
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
42、sort命令的更多相关文章
- shell之sort命令
1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@rocrocket progr ...
- 【转】linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...
- sort命令
1.默认情况下,sort命令,以字母序进行文本排序sort word.txt2.如果想对数字进行排序,可以使用-n参数sort num.txt -n3指定列排序下面是对passwd文件,以冒号(:)进 ...
- Linux sort命令
200 ? "200px" : this.width)!important;} --> 介绍 sort命令是一个文本排序命令,它能对标准输入和文本文件进行排序,并且能将结果通 ...
- 3. sort命令
转自:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分 ...
- linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...
- [shell基础]——sort命令
sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项 -c 测试文件是否已经被排序 -r 逆向排序 -n 按照数字数值大小排序 -t 指定分割 ...
- linux sort 命令详解(转 )
linux sort 命令详解 sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比 ...
- linux sort命令学习
linux sort命令以行为单位对文本文件进行排序. 接下来我们会以/tmp/sort_test.txt这个文本文件为例对sort命令的用法进行说明. sh-# cat /tmp/sort_test ...
随机推荐
- IDEA 常用快捷键列表【建议收藏】
编辑代码 快捷键 说明 Alt+Enter 导入包.自动变量命名等(万能快捷键) Ctrl+X 删除行 Ctrl+Y 删除当前行 Ctrl+D 复制行 Alt+Shift+Up/Down或Ctrl+S ...
- element-ui 的el-select如何不显示value,显示value对应的label值
有时根据需要,我们根据v-model的值绑定option, 想要的效果: 实际的效果: 原因: value的格式存在问题,数据库读取到的数据不一定为number类型,需要手动转换. 第一种 <t ...
- easyui datagrid 自定义单元格单击与双击事件(Day_38)
$(function(){ $('#tableId').datagrid({//单击事件 onClickRow:function(rowIndex,rowData){ alert("单 ...
- 推荐:C#命名规范12条
编码规范对于程序员而言尤为重要,有以下几个原因: 1.一个项目的生命周期中,80%的花费在于维护; 2.几乎没有任何一个项目,在其整个生命周期中,均由最初的开发人员来维护; 3.命名规范可以改善项目的 ...
- Java枚举类与注解详解——一篇文章读懂枚举类与注解详
目录 一.枚举类 ① 自定义枚举类 ② enum关键字定义枚举类 ③ enum 枚举类的方法 ④ enum 枚举类实现接口 二.注解 ① 生成文档相关注解 ②注解在编译时进行格式检查 ③注解跟踪代码的 ...
- 又卡了~从王者荣耀看Android屏幕刷新机制
前言 正在带妹子上分的我,团战又卡了,我该怎么向妹子解释?在线等. "卡"的意思 不管是端游还是手游,我们都会时不时遇到"卡"的时候,一般这个卡有两种含义: 掉 ...
- .NET平台系列15 .NET5的吊炸天性能改进
系列目录 [已更新最新开发文章,点击查看详细] .NET5的性能改进测试功能 Benchmark.NET现在是衡量.NET代码性能的规范工具,可轻松分析代码段的吞吐量和分配. .NET5的性能 ...
- 常用的HTTP服务压测工具介绍
常用的HTTP服务压测工具介绍 在项目正式上线之前,我们通常需要通过压测来评估当前系统能够支撑的请求量.排查可能存在的隐藏bug,同时了解了程序的实际处理能力能够帮我们更好的匹配项目的实际需求,节约资 ...
- Tensorflow 2.0 搭建神经网络(局部)
前向传播 tensorflow.keras 搭建网络时,内部的网络可以直接完成所有层的前向计算.全连接Dense() 层,最后一层的神经元的个数需要和最后一层线性函数 w x + b 的维度对应上,中 ...
- python基础知识笔记(一)
一.变量 可以是字母.数字(不能作为开头).下划线. 自定义的常量名一般全部大写. na = "liu" na2 = na print("my na is ", ...