linux sort命令用法
sort命令:用于将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。
命令格式:
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
常见参数:
- -b 忽略每行前面开始出的空格字符。
- -c 检查文件是否已经按照顺序排序。
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。只考虑空格、字母和数字
- -f 排序时,将小写字母视为大写字母。
- -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。只考虑可打印字符。
- -m 将几个排序好的文件进行合并。
- -M 将前面3个字母依照月份的缩写进行排序。
- -n 依照数值的大小排序;对指定的列进行排序,+0表示第一列,以空格或制表符作为列的间隔符。
- -o<输出文件> 将排序后的结果存入指定的文件。
- -u 去重,配合-c,严格校验排序;不配合-c,则只输出一次排序结果,一般用uniq代替。
- -r 倒序(降序)以相反的顺序来排序。
- -t<分隔字符> 指定排序时所用的栏位分隔字符。例如:-t. 表示按点号分隔域,类似于awk -F或cut -d
- -k指定第几列或第几列的第几个字符。与-t配合使用
- +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
- --help 显示帮助。
- --version 显示版本信息。
测试:
去重:
[root@bqh-118 ~]# cat qc.log
192.168.43.117
192.168.43.119
192.168.43.118
192.168.43.118
192.168.43.117
192.168.43.117
192.168.43.119
192.168.43.110
[root@bqh-118 ~]# sort -u qc.log
192.168.43.110
192.168.43.117
192.168.43.118
192.168.43.119
注:-u,一般用uniq代替。
去重+降序(倒序)排序:
[root@bqh-118 ~]# sort -ur qc.log
192.168.43.119
192.168.43.118
192.168.43.117
192.168.43.110
按数字排序:
[root@bqh-118 ~]# sort -n qc.log
192.168.43.110
192.168.43.117
192.168.43.117
192.168.43.117
192.168.43.118
192.168.43.118
192.168.43.119
192.168.43.119
注:默认为升序。
按数字倒序排序
[root@bqh-118 ~]# sort -r qc.log
192.168.43.119
192.168.43.119
192.168.43.118
192.168.43.118
192.168.43.117
192.168.43.117
192.168.43.117
192.168.43.110
指定分隔符排序:按对应的列排序
-k, --key=pos1[pos2]
start a key at pos1 (orign 1), end it at pos2 (default end of line)
1. 默认按整行排序。
2. -t指定分隔符,-k1,分隔符之后的第一列排序
3. -k 1,1 用逗号来分隔字段,表示第一个字段开始排序到第一个字段结束
4. -k 1.1,3.3 用点分隔字符。表示第一个字段的第一个字符开始排序到第三个字段的第三个字符结束。
[root@bqh-118 ~]# cat qc3.log
192.168.43.117 a
192.168.43.119 d
192.168.43.118 z
192.168.43.118 n
192.168.43.117 o
192.168.43.117 m
192.168.43.119 k
192.168.43.110 l
[root@bqh-118 ~]# sort -t" " -k2 qc3.log
192.168.43.117 a
192.168.43.119 d
192.168.43.119 k
192.168.43.110 l
192.168.43.117 m
192.168.43.118 n
192.168.43.117 o
192.168.43.118 z
[root@bqh-118 ~]# sort -k2 qc3.log
192.168.43.117 a
192.168.43.119 d
192.168.43.119 k
192.168.43.110 l
192.168.43.117 m
192.168.43.118 n
192.168.43.117 o
192.168.43.118 z
注:分隔符默认为空格,-t可省略,所有上边命令可以sort -k2 qc3.log
[root@bqh-118 ~]# cat qc4.log
192.168.0.1 00:OF:AF:45:4C:78
192.168.0.71 00:OF:1AF:45:4C:76
192.168.0.16 00:OF:KF:55:S6:25
192.168.0.99 00:LF:9F:R5:IC:27
192.168.0.91 00:OF:H6:45:A1:67
192.168.0.65 00:O1:W3:45:49:94
192.168.0.89 00:OF:A8:33:V5:90
192.168.0.31 00:90:32:J9:1L:14
192.168.0.19 00:OF:76:29:30:DF
192.168.0.177 00:OF:12:09:P9:41
192.168.0.121 00:YF:A2:U7:4O:RT
192.168.0.253 00:OF:SD:40:J3:19
192.168.0.51 00:II:V5:39:47:OI
192.168.0.46 00:OF:A3:81:D3:1Y
192.168.0.7 00:OI:W1:IW:H7:B1
192.168.0.189 00:OF:S5:00:12:70
192.168.0.155 00:OY:TF:4Q:46:8M
[root@bqh-118 ~]# sort -t. -k4,4nr qc4.log #从第4个字段开始排序,到第4个字段结束排序,按数字降序
192.168.0.253 00:OF:SD:40:J3:19
192.168.0.189 00:OF:S5:00:12:70
192.168.0.177 00:OF:12:09:P9:41
192.168.0.155 00:OY:TF:4Q:46:8M
192.168.0.121 00:YF:A2:U7:4O:RT
192.168.0.99 00:LF:9F:R5:IC:27
192.168.0.91 00:OF:H6:45:A1:67
192.168.0.89 00:OF:A8:33:V5:90
192.168.0.71 00:OF:1AF:45:4C:76
192.168.0.65 00:O1:W3:45:49:94
192.168.0.51 00:II:V5:39:47:OI
192.168.0.46 00:OF:A3:81:D3:1Y
192.168.0.31 00:90:32:J9:1L:14
192.168.0.19 00:OF:76:29:30:DF
192.168.0.16 00:OF:KF:55:S6:25
192.168.0.7 00:OI:W1:IW:H7:B1
192.168.0.1 00:OF:AF:45:4C:78
[root@bqh-118 ~]# sort -t. -k3.1,4.1nr qc4.log #从第三个字段第一个字符排序,到第四个字段第一个字符结束,按数字降序
192.168.0.91 00:OF:H6:45:A1:67
192.168.0.99 00:LF:9F:R5:IC:27
192.168.0.89 00:OF:A8:33:V5:90
192.168.0.7 00:OI:W1:IW:H7:B1
192.168.0.71 00:OF:1AF:45:4C:76
192.168.0.65 00:O1:W3:45:49:94
192.168.0.51 00:II:V5:39:47:OI
192.168.0.46 00:OF:A3:81:D3:1Y
192.168.0.31 00:90:32:J9:1L:14
192.168.0.253 00:OF:SD:40:J3:19
192.168.0.1 00:OF:AF:45:4C:78
192.168.0.121 00:YF:A2:U7:4O:RT
192.168.0.155 00:OY:TF:4Q:46:8M
192.168.0.16 00:OF:KF:55:S6:25
192.168.0.177 00:OF:12:09:P9:41
192.168.0.189 00:OF:S5:00:12:70
192.168.0.19 00:OF:76:29:30:DF
linux sort命令用法的更多相关文章
- linux sort命令学习
linux sort命令以行为单位对文本文件进行排序. 接下来我们会以/tmp/sort_test.txt这个文本文件为例对sort命令的用法进行说明. sh-# cat /tmp/sort_test ...
- linux sort 命令详解(转 )
linux sort 命令详解 sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比 ...
- linux mail命令用法
在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并 ...
- (转)linux paste命令用法详解
linux paste命令用法详解原文:http://www.xfcodes.com/linuxcmd/mulu/10211.htmlinux下paste命令,可用于合并文件的列. 功能说明:合并文件 ...
- Linux sort命令详解
linux之sort用法 sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参数格式: sort [-bcfMnrtk][源文件][-o 输出文件] 补充说明:sort可针对文本文件的内容, ...
- 【转】linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...
- linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...
- Linux sort命令使用方法
sort命令在Linux中主要用于对文件进行排序,并将排序结果输出.sort命令输入可以是指定的文件和数据流.本文主要介绍sort命令的基本语法和常见使用实例. sort命令语法 sort命令格式:s ...
- (转)Linux sort命令
Linux 的 ‘sort’命令的14个有用的范例(一) 2015-5-2 10:29 评论: 3 收藏: 10 编译自:http://www.tecmint.com/sort-command- ...
随机推荐
- Django ORM的继承关系
ORM中通常将对象引用映射到外键,但是对于继承,关系数据库中没有自然有效的方法来对应.从数据存储的角度来看,在映射继承关系时,可以采用几种方式(参考JPA中的InheritanceType.定义): ...
- 为何windows自带的文件搜索这么慢,而Everything的这么快
为何windows自带的文件搜索这么慢,而Everything的这么快 摘自:http://blog.sina.com.cn/s/blog_9f0cf4ed0102wvkq.html (2016-07 ...
- C++类const和static成员初始化
class A{ private: int a; //变量,属于对象任何地方初始化即可 ; //常量,属于对象,声明的时候初始化.在构造函数初始化列表初始化,最后取初始化列表的值 static int ...
- C++数据存储方式
1.栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区,里面的变量通常是局部变量.函数参数等. 2.堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去 ...
- Intellij IDEA 打包jar的多种方式
IDEA打包jar包的多种方式 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-assembly-plugin打包 1.view-> ...
- CentOS 安装tab命令补全
CentOS 安装tab命令补全 1. 安装epel 源 yum -y install epel-release 2. 加快yum速度 yum -y install yum-plugin-fastes ...
- 数据库的ACID和CAP
传统数据库的ACID分别是: A(Atomicty)原子性 B(Consistency)一致性 I(Isolation)独立性 D(Du ...
- TensorSpace:超酷炫3D神经网络可视化框架
TensorSpace:超酷炫3D神经网络可视化框架 TensorSpace - 一款 3D 模型可视化框架,支持多种模型,帮助你可视化层间输出,更直观地展示模型的输入输出,帮助理解模型结构和输出方法 ...
- todo---callback
todo---callback https://blog.csdn.net/u010158267/article/details/51426963/
- Linux 实现回收站功能脚本
#!/bin/bash function z-trash() { # 判断参数是否为空 if [ ! $1 ] then echo "z-trash error: file name of ...