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. maven 仓库配置 pom中repositories属性

    文章转自http://blog.csdn.net/zlgydx/article/details/51130627 什么是Maven仓库在不用Maven的时候,比如说以前我们用Ant构建项目,在项目目录 ...

  2. 剑指offer从上往下打印二叉树 、leetcode102. Binary Tree Level Order Traversal(即剑指把二叉树打印成多行、层序打印)、107. Binary Tree Level Order Traversal II 、103. Binary Tree Zigzag Level Order Traversal(剑指之字型打印)

    从上往下打印二叉树这个是不分行的,用一个队列就可以实现 class Solution { public: vector<int> PrintFromTopToBottom(TreeNode ...

  3. [转]QGis2.9在windows下的编译以及二次开发包下载

    今天心血来潮,将QGis在github上的代码更新后,又编译了一下.留意到源代码包里面的INSTALL文件有更新,于是本次编译完全基于官方的编译说明.编译过程非常顺利,除了在CMake的第一次conf ...

  4. nodeJS之Cookie和Session(一)

    nodeJS之Cookie和Session(一) 一:Cookie   HTTP是一个无状态协议,客户端每次发出请求时候,下一次请求得不到上一次请求的数据,那么如何将上一次请求和下一次请求的数据关联起 ...

  5. sublime text3作为php开发IDE

    phpstorm开发有时候太占内存,会发生卡顿.虽然还是更喜欢用这个IDE哈哈. 一个也很强大的编辑器sublime text3,作为偶尔的替代也很给力.这个内存占用会小不少. 官网下载sublime ...

  6. Github.Git

    Github介绍:http://www.yangzhiping.com/tech/github.html Git:http://res.crossincode.com/wechat/git.html

  7. spring boot 跨域请求

    场景 网站localhost:56338要访问网站localhost:3001的服务 在网站localhost:3001中增加CORS相关Java Config @Configuration @Ord ...

  8. .net core实践系列之短信服务-Sikiro.SMS.Api服务的实现

    前言 上篇<.net core实践系列之短信服务-架构设计>介绍了我对短信服务的架构设计,同时针对场景解析了我的设计理念.本篇继续讲解Api服务的实现过程. 源码地址:https://gi ...

  9. (9)学习笔记 ) ASP.NET CORE微服务 Micro-Service ---- JWT算法

    一. JWT 简介 内部 Restful 接口可以“我家大门常打开”,但是如果要给 app 等使用的接口,则需要做权限校验,不能谁都随便调用. Restful 接口不是 web 网站,App 中很难直 ...

  10. JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)

    测试又报bug啦 接到测试小伙伴的问题,说是一个接口不返回数据了,好吧,虽然不是我写的接口任务落到头上也得解决,本地调试了一下,好家伙,直接抛了个异常出来,这又是哪位大哥喝醉了写的代码... Exce ...