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的应用实例的更多相关文章

  1. sort +awk+uniq 统计文件中出现次数最多的前10个单词

    实例cat logt.log|sort -s -t '-' -k1n |awk '{print $1;}'|uniq -c|sort -k1nr|head -100 统计文件中出现次数最多的前10个单 ...

  2. Linux中sort和uniq关于排序去重的那些用法

    相信在Linux下对文件操作经常会用到sort和uniq命令,下面系统的介绍一下这两个命令的用法. sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出.sort命令既可以从特 ...

  3. sort、uniq、tr、cut、eval以及正则表达式

    sort.uniq.tr.cut.eval以及正则表达式 目录 sort.uniq.tr.cut.eval以及正则表达式 一.sort命令 1. sort的作用 2. 语法格式 3. 常用选项 4. ...

  4. 每天学点linux命令--tail,cut,sort,uniq

    tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新, ...

  5. Shell命令-文件及内容处理之sort、uniq

    文件及内容处理 - sort.unip 1. sort:对文件的文本内容排序 sort命令的功能说明 sort 命令用于将文本文件内容加以排序.sort 可针对文本文件的内容,以行为单位来排序. so ...

  6. sort与uniq命令详解

    1.sort的作用 (排序) sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出. 如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行 ...

  7. sort和uniq去重操作【转】

    去除重复行 sort file |uniq   查找非重复行 sort file |uniq -u   查找重复行 sort file |uniq -d   统计 sort file | uniq - ...

  8. linux之sort和uniq

    uniq uniq命令: uniq不加参数,只对相邻的相同行内容去重. 例子如下: [root@localhost ~]# pwd /root [root@localhost ~]# cat oldb ...

  9. linux shell 脚本攻略学习8---md5校验,sort排序,uniq命令详解

    一.校验与核实 目前最为出名的校验技术是md5sum和sha1sum,它们对文件内容使用相应的算法来生成校验和. 举例: amosli@amosli-pc:~/learn$ md5sum text.t ...

随机推荐

  1. Spring Security 用户授权原理分析

    本文基于 spring-security-core-5.1.1 和 tomcat-embed-core-9.0.12. 本文接着Spring Security 用户认证原理分析进行分析,此时用户已完成 ...

  2. 百度云受邀成为 LF Edge 创始成员

    导读 1月24日,Linux Foundation(Linux基金会,以下简称LF)宣布正式成立旗下子机构边缘计算基金会LF Edge,旨在建立边缘计算统一开源框架.百度云受邀成为创始成员. 中国公司 ...

  3. 一点不懂到小白的linux系统运维经历分享

    进入运维行业刚不到二个年头, 刚刚从大白变成小白.都说it行业是青春的饭.但是运维行业可不这么认为.运维工程师便是经验技术的积累,经历的过的沟沟坑坑都会融入你的血液,成为你的智慧. 二年前接触linu ...

  4. 如何用css实现"等高布局"。

    有时候为了让网页实现美观,在不知道高度的情况下,我们要用css实现等高布局效果,传统的方法, 我们可以用javascript实现,但是由于需求决定或者其他的情况下,我们只能用css实现,其方法主要是采 ...

  5. chrome浏览器添加vue-devtools扩展

    1,在百度网盘中下载压缩包,网盘地址:https://pan.baidu.com/s/1i6UdvCD,密码:nvfe 2,将压缩包解压到F盘,F:\chromeVue插件 3,复制文件地址,F:\c ...

  6. React-引入图片的方法

    方法一: import imgURL from '../../images/logo.png'; <img src={imgURL} alt="1"/> 方法二: &l ...

  7. java基础(个人学习笔记) A

    1.       声明long类型的变量 需要在数值的末尾+l/L.(不加L的话,貌似默认就是int型了.当给long赋值一个超过int范围的值的时候,会出问题.) 2.  package java_ ...

  8. Spring Boot 2.0 版的开源项目云收藏来了!

    给大家聊一聊云收藏从 Spring Boot 1.0 升级到 2.0 所踩的坑 先给大家晒一下云收藏的几个数据,作为一个 Spring Boot 的开源项目(https://github.com/cl ...

  9. cgroup.conf系统初始配置

    # Slurm cgroup support configuration file # # See man slurm.conf and man cgroup.conf for further # i ...

  10. 【Beta版本发布】爬虫队长装备全面更新!

    一.Beta阶段目标回顾 1.为了解决Alpha阶段线程异常泛滥的问题,我们需要一个线程池. 2.为了爬取得到的文件正确可用,我们需要一个异常清理器. 3.为了不间断爬取,管理员不必频繁运行程序点,我 ...