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 ...
随机推荐
- [bug] C:error: initializer element is not constant
参考 http://codingdict.com/questions/45121
- 开机自动挂载本地yum源-20200402-V0.1
开机自动挂载本地yum源-20200402-V0.1 已下载本地iso /home/Kylin-Server-10-mips64-Release-Build04.08-lic-20200313.iso ...
- 11.16-18 lsci、ipcs、ipcrm:清除ipc相关信息
lspci:显示所有PCI设备 lspci命令用来显示系统中的所有PCI总线设备或是连接到该总线上的所有设备. lspci命令的参数选项及说明 -v 显示详细信息 -vv 显示更详细的信 ...
- 有关Git基础操作的学习
Git简介 Git是一个免费的开源 分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有内容. Git 易于学习, 占地面积小,具有闪电般的快速性能.它具有诸如Subversion,CVS,P ...
- openresty 学习笔记一:环境安装
openresty 学习笔记一:环境安装 openresty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库.第三方模块以及大多数的依赖项.用于方便地搭 ...
- VUE3后台管理系统【路由鉴权】
前言: 在"VUE3后台管理系统[模板构建]"文章中,详细的介绍了我使用vue3.0和vite2.0构建的后台管理系统,虽然只是简单的一个后台管理系统,其中涉及的技术基本都覆盖了, ...
- 自主数据类型:在TVM中启用自定义数据类型探索
自主数据类型:在TVM中启用自定义数据类型探索 介绍 在设计加速器时,一个重要的决定是如何在硬件中近似地表示实数.这个问题有一个长期的行业标准解决方案:IEEE 754浮点标准.1.然而,当试图通过构 ...
- VB 老旧版本维护系列---兜兜转转有点晕:从服务器通过URL不中转保存的下载
从服务器通过URL不中转保存的下载 首先引用System.dll 然后新开一个页面,空的,在后台Page_Load方法里写 Dim docPath As String ="" ...
- Activiti Exploer工作流控制台使用指南!使用Activiti Explorer定义部署执行工作流
Activiti Explorer简介 Activiti Explorer: Activiti控制台,是一个web应用程序 从Activiti的官方网站下载Activiti的压缩zip文件时,Acti ...
- Qt自定义信号槽的使用浅析+实例
1. Qt中自定义信号槽的使用 Qt框架提供的信号槽在某些特定场景下是无法满足我们的项目需求的,因此我们还设计自己需要的的信号和槽,使用connect()对自定义的信号槽进行连接. 如果想要使用自定义 ...