sort和uniq的应用实例
sort 排序 uniq
1、语法:
sort [option]... [file]...
2、选项:
-k key,关键子,指定以那个列来排序。如果不指定,默认将正行作为关键字排序
-n 对数值排序。默认bash将所有列值认为是字符串类型,如果想要按照数值来排序使用-n或者修饰符n
-r 倒序排序
-t 指定列的分隔符,默认空格或这tab(制表符)
-k: 指定排序关键字
语法:-k pos1,pos2 -k 3,3 pos1 起始列 pos2结束列
-k 3 定义起始列为第三列,如果第三列相同,则按照第4列排序,以此类推,对比完所有列一样的话,判定两行是相同的
如果,要指定以第三列来排序,写: -k 3,3
根据指定的字符来排序:
语法: -k pos1.start pos2.end
[root@localhost html]# cat /var/log/httpd/access_log.2017-08-28 | sort -k 4.14,4.15(第四列的第14个字符到第四列的第15个字符)
-n: 数值排序
[root@localhost html]# sort -n -k 3,3 sort.txt
The_Hill KL 63 2972
Alien HK 119 1982
Boys_in_Company_C HK 239 2192
Toy_story HK 239 3927
Star_Wars HK 301 4102
A_Few_Good_Men KL 445 5851
Aliens HK 532 4892
[root@localhost html]# sort -k 3,3n sort.txt //n修饰符 ,按数字排列 等同于 -n
The_Hill KL 63 2972
Alien HK 119 1982
Boys_in_Company_C HK 239 2192
Toy_story HK 239 3927
Star_Wars HK 301 4102
A_Few_Good_Men KL 445 5851
Aliens HK 532 4892
-r 倒序排序
[root@localhost html]# sort -k 3,3nr sort.txt //等同于-n -r ,按数字倒叙排列
Aliens HK 532 4892
A_Few_Good_Men KL 445 5851
Star_Wars HK 301 4102
Boys_in_Company_C HK 239 2192
Toy_story HK 239 3927
Alien HK 119 1982
The_Hill KL 63 2972
[root@localhost html]# sort -n -r -k 3,3 sort.txt
Aliens HK 532 4892
A_Few_Good_Men KL 445 5851
Star_Wars HK 301 4102
Toy_story HK 239 3927
Boys_in_Company_C HK 239 2192
Alien HK 119 1982
The_Hill KL 63 2972
-t 指定列的分割符号
[root@localhost html]# sort -t ':' -k 3,3n /etc/passwd //分隔符为“:” n数值排序 -k指定排序关键字
-u 去除重复的行
[root@localhost html]# cat sort.txt |sort
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
Alien HK 119 1982
Aliens HK 532 4892
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Star_Wars HK 301 4102
The_Hill KL 63 2972
Toy_story HK 239 3927
[root@localhost html]# cat sort.txt |sort -u
A_Few_Good_Men KL 445 5851
Alien HK 119 1982
Aliens HK 532 4892
Boys_in_Company_C HK 239 2192
Star_Wars HK 301 4102
The_Hill KL 63 2972
Toy_story HK 239 3927
uniq(不加任何选项)就等于sort -u 去除相邻的重复的行
[root@localhost html]# cat sort.txt
Toy_story HK 239 3927
The_Hill KL 63 2972
Star_Wars HK 301 4102
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Aliens HK 532 4892
Alien HK 119 1982
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
[root@localhost html]# cat sort.txt |uniq
Toy_story HK 239 3927
The_Hill KL 63 2972
Star_Wars HK 301 4102
Boys_in_Company_C HK 239 2192
Aliens HK 532 4892
Alien HK 119 1982
A_Few_Good_Men KL 445 5851
uniq只能去除相邻的重复的行:
[root@localhost html]# cat sort.txt
Toy_story HK 239 3927
The_Hill KL 63 2972
Star_Wars HK 301 4102
Boys_in_Company_C HK 239 2192
Aliens HK 532 4892
Boys_in_Company_C HK 239 2192
A_Few_Good_Men KL 445 5851
Alien HK 119 1982
A_Few_Good_Men KL 445 5851
[root@localhost html]# cat sort.txt |uniq
Toy_story HK 239 3927
The_Hill KL 63 2972
Star_Wars HK 301 4102
Boys_in_Company_C HK 239 2192
Aliens HK 532 4892
Boys_in_Company_C HK 239 2192
A_Few_Good_Men KL 445 5851
Alien HK 119 1982
A_Few_Good_Men KL 445 5851
-c count 计数 计算相邻的行的数量,通常先用sort将文本行进行排序(让相同的即重复的行相邻),然后在用uniq -c计算每行出现的重复次数
[root@localhost html]# cat sort.txt |sort
A_Few_Good_Men KL 445 5851
A_Few_Good_Men KL 445 5851
Alien HK 119 1982
Aliens HK 532 4892
Boys_in_Company_C HK 239 2192
Boys_in_Company_C HK 239 2192
Star_Wars HK 301 4102
The_Hill KL 63 2972
Toy_story HK 239 3927
[root@localhost html]# cat sort.txt |sort|uniq -c
2 A_Few_Good_Men KL 445 5851
1 Alien HK 119 1982
1 Aliens HK 532 4892
2 Boys_in_Company_C HK 239 2192
1 Star_Wars HK 301 4102
1 The_Hill KL 63 2972
1 Toy_story HK 239 3927
统计Apache每秒钟的并发量
[root@localhost html]# cat /var/log/httpd/access_log.2017-08-28 | sort -t ' ' -n -k 4.20,4.21 |uniq -c
倒叙输出每秒钟的日志访问量
[root@localhost html]# cat /var/log/httpd/access_log.2017-08-28 | sort |uniq -c|sort -r |head -3
sort和uniq的应用实例的更多相关文章
- sort +awk+uniq 统计文件中出现次数最多的前10个单词
实例cat logt.log|sort -s -t '-' -k1n |awk '{print $1;}'|uniq -c|sort -k1nr|head -100 统计文件中出现次数最多的前10个单 ...
- Linux中sort和uniq关于排序去重的那些用法
相信在Linux下对文件操作经常会用到sort和uniq命令,下面系统的介绍一下这两个命令的用法. sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出.sort命令既可以从特 ...
- sort、uniq、tr、cut、eval以及正则表达式
sort.uniq.tr.cut.eval以及正则表达式 目录 sort.uniq.tr.cut.eval以及正则表达式 一.sort命令 1. sort的作用 2. 语法格式 3. 常用选项 4. ...
- 每天学点linux命令--tail,cut,sort,uniq
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...
- Shell命令-文件及内容处理之sort、uniq
文件及内容处理 - sort.unip 1. sort:对文件的文本内容排序 sort命令的功能说明 sort 命令用于将文本文件内容加以排序.sort 可针对文本文件的内容,以行为单位来排序. so ...
- sort与uniq命令详解
1.sort的作用 (排序) sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出. 如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行 ...
- sort和uniq去重操作【转】
去除重复行 sort file |uniq 查找非重复行 sort file |uniq -u 查找重复行 sort file |uniq -d 统计 sort file | uniq - ...
- linux之sort和uniq
uniq uniq命令: uniq不加参数,只对相邻的相同行内容去重. 例子如下: [root@localhost ~]# pwd /root [root@localhost ~]# cat oldb ...
- linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解
一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...
随机推荐
- 你所不了解的javascript操作DOM的细节知识点(一)
你所不了解的javascript操作DOM的细节知识点(一) 一:Node类型 DOM1级定义了一个Node接口,该接口是由DOM中的所有节点类型实现.每个节点都有一个nodeType属性,用于表明节 ...
- http/2 多路复用技术
虽然 HTTP 1.1 默认启用长TCP连接,但所有的请求-响应都是按序进行的(这里的长连接可理解成半双工协议.即便是HTTP 1.1引入了管道机制,也是如此).复用同一个TCP连接期间,即便是通过管 ...
- C. Report
题意:给出n个无序的数以及m个操作,每个操作由两个数组成,第一个数是操作的方式,第二个数 i 是操作的范围,若第一个数是1,则给 1-i 个数按升序排序,若第二个数是2,则给 1-i 个数按降序排列. ...
- [Synthetic-data-with-text-and-image]
0 引言 本文是之前为了解决如何将文字贴到图片上而编写的代码,默认是如发票一类的,所以并未考虑透视变换等.且采用的是pygame粘贴方式,之前也尝试过opencv的seamlessClone粘贴. 值 ...
- LVDS时序分析
LVDS时序分析 2012年05月07日 11:48:08 Walle 阅读数:3355 标签: 平台工作 最近在调试基于telechip平台的LVDS驱动,一开始对该平台的LVDS时序不是很了解 ...
- asp.net web api集成微信服务(使用Senparc微信SDK)- z
/// <summary> /// 微信请求转发控制器 /// </summary> [RoutePrefix("weixin")] public clas ...
- elaticsear no [query] registered for [filtered] 错误
1.问题描述 执行语句: GET /megacorp/employee/_search { "query" : { "filtered" : { "f ...
- PHP实现验证码制作
captcha.php(PHP产生验证码并储存Session): <?php //开启Session session_start(); //绘制底图 $image = imagecreatetr ...
- ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十五节--缓存小结与ABP框架项目中 Redis Cache的实现
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 缓存 为什么要用缓存 为什么要用缓存呢,说缓存之前先说使用缓存的优点. 减少寄宿服务器的往返调用(round-tr ...
- 基于HTML5 Canvas的工控SCADA模拟飞机飞行
昨天看到一篇文章说是学习如何开飞机的,然后我就想,如果我也可以开飞机那就好玩了,每个人小时候都想做飞行员!中国飞行员太难当了,再说也不轻易让你开飞机!后来我就想如果能用 HT 开飞机那就是真的有趣了, ...