一,sort的用途

1,作用:

sort命令用于将文本文件内容加以排序。

它能够以行为单位来排序

2,sort常与uniq搭配使用,原因:

用uniq命令去重时,

需要相同的每行位置相邻才能生效,

所以通常要在uniq之前先用sort做排序

而在uniq做统计之后,通常也会根据重复次数做排序,

这种情况下也会用到uniq

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,查看sort命令所属的包

[root@blog ~]$ whereis sort
sort: /bin/sort /usr/share/man/man1p/sort.1p.gz /usr/share/man/man3/sort.3pm.gz /usr/share/man/man1/sort.1.gz [root@blog ~]$ rpm -qf /bin/sort
coreutils-8.4-31.el6_5.2.x86_64

如果提示找不到命令或命令被误删除,

可以用dnf安装

[root@blog ~]$ dnf install coreutils

三,查看sort命令的版本和帮助

1,查看版本

[root@loadserver ~]$ sort --version
sort (GNU coreutils) 8.4
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Written by Mike Haertel and Paul Eggert.

2,查看帮助

[root@loadserver ~]$ sort --help

3,查看手册

[root@loadserver ~]$ man sort

四,sort命令在运维工作中的例子

1,统计404的url

#-n: --numeric-sort    按照数字的值进行比较

#-k:--key=POS1[,POS2]     start a key at POS1 (origin 1), end it at POS2

按指定的列做排序

#-r:--reverse    反序排列

[root@blog nginxlogs]$ awk '$9==404{print $7}' ilc_ssl.access.log | sort | uniq -c | sort -k1 -nr
73 /robots.txt
37 /apple-touch-icon.png
...

2,统计404的ip的出现次数

[root@blog nginxlogs]$ awk '$9==404{print $1}' ilc_ssl.access.log | sort | uniq -c | sort -k1 -nr
10 61.152.68.150
9 156.229.7.2
...

3,对系统中的用户按uid做倒序排列:

#-t:指定排序用的字段的分隔符

[root@blog ~]$ sort -t ":" -k 3 -nr /etc/passwd

4,对排序结果去重

例子:打印所有引发404的ip,按ip排序并去除重复

#-u: 去除重复

[root@blog nginxlogs]$ awk '$9==404{print $1}' ilc_ssl.access.log | sort -t ' ' -u 

说明:sort的去重不具备uniq统计次数的功能

5,按两个字段做排序:

-k7   : 按第七列正序排列

-k3nr :按第三列以数值倒序排列

[root@blog ~]# sort -t: -k7 -k3nr /etc/passwd

6,按指定的字符做排序:

按第一列的第1个到第3个字符做排序

[root@blog ~]# sort -t: -k1.1,1.3 /etc/passwd

六,查看centos的版本

[root@blog ~]$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

linux(centos8):用sort对文本内容排序的更多相关文章

  1. linux(centos8):用cut显示文本内容的指定列

    一,cut命令的用途 从一个文本文件或者文本流中提取文本列 分别用: 字节.字符.字段 作为单位进行提取 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.co ...

  2. linux下批量查找/替换文本内容

    一般在本地电脑上批量替换文本有许多工具可以做到,比如sublime text ,但大多服务器上都是无图形界面的,为此收集了几条针对linux命令行 实现批量替换文本内容的命令: 1.批量查找某个目下文 ...

  3. linux实用小命令--查看文本内容

    一.cat命令 $ cat [参数]filename 这还有一些可以和cat命令一起用的参数,可能对你有所帮助. 1.-n 参数会所有的行加上行号: $ cat -n test1 2.这个功能在检查脚 ...

  4. linux(centos8):用uniq去除文本中重复的行(去重)

    一,uniq命令的用途 1, 作用: 从输入文件或标准输入中找到相邻的匹配行, 并写入到输出文件或标准输出 2, 使用时通常会搭配sort使用 说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt ...

  5. Linux sed命令实现替换文本内容

    /root/data/code-s3201/publish_codex/deploy/db.properties db.properties中的 1.0.0.6 替换为 1.0.0.7 sed -i ...

  6. [转帖]linux Shell sort按照指定列排序

    linux Shell sort按照指定列排序 https://blog.csdn.net/weixin_38308151/article/details/80760133 kubectl get p ...

  7. linux常用命令之--文本编辑和文本内容查看命令

    linux的文本编辑和文本内容查看命令 1.文本编辑命令 vi:用于编辑文本文件,基本上可以分为三种模式,分别是一般模式.编辑模式.命令行模式. 一般模式:当编辑一个文件时,刚进入文件就是一般模式. ...

  8. Linux的文本编辑和文本内容查看命令

    Linux的文本编辑和文本内容查看命令 1.文本编辑命令 vi:用于编辑文本文件,基本上可以分为三种模式,分别是一般模式.编辑模式.命令行模式.    一般模式:当编辑一个文件时,刚进入文件就是一般模 ...

  9. linux(六)之文本操作

    接下来我们一起来看一下再linux中怎么去对文本进行操作的 一.文本文件 既然要操作文本,所以我们要对文本有一个了解,那什么是文本文件呢. 文本文件是一种由若干行字符构成的计算机文件.文本文件存在于计 ...

随机推荐

  1. 谈谈 mysql和oracle的使用感受 -- 差异

    之前一直使用mysql作为存储数据库,虽然中间偶尔使用sqlite作为本地数据库存储,但没有感觉多少差别. 后来遇上了oracle,且以其作为主要存储,这下就不得不好好了解其东西了.oracle作为商 ...

  2. [SpringBoot项目]问题及解决总结

    问题:MySQL 8.0版本连接报错:Could not create connection to database server 原因 MySQL8.0版本需要更换驱动为"com.mysq ...

  3. [程序员代码面试指南]数组和矩阵-数组的partition调整

    题目 补充问题:数组只含0,1,2,对数组排序,要求时间复杂度O(n),额外空间复杂度O(1) 题解 维护三个变量,l,idx,r.左区间[0,l],中间区间[l+1,idx],右区间[idx+1,r ...

  4. 快速排序之C实现和JS实现的区别

    快速排序是面试中的几乎必问的问题,理解之后发现并不难,在此贴出两种版本,与小伙伴们相互交流 PS:今天码代码非常有感觉,所以连发三篇博客,下午打球,手感也是热的发烫,希望不忘初心,方得始终. 进入正题 ...

  5. Java学习预热

    预备知识 什么是计算机 点击进入百度百科(计算机) 计算机硬件组成 主要部件 CPU 内存 主板 IO设备 键盘 鼠标 麦克风 显示器 音箱 冯·诺依曼体系结构 计算机软件 系统软件 DOS wind ...

  6. openstack (共享组件) 时间同步服务

    云计算openstack共享组件——时间同步服务ntp(2)   一.标准时间讲解 地球分为东西十二个区域,共计 24 个时区 格林威治作为全球标准时间即 (GMT 时间 ),东时区以格林威治时区进行 ...

  7. hystrix(3) 熔断器

    讲完metrics我们就来了解一下熔断器的执行情况,熔断器的判断取决metrics数据. hystrix在执行命令前需要经过熔断器判断,如果服务被熔断,则执行fallback流程,熔断判断逻辑如下: ...

  8. RDS、DDS 和 GaussDB 理不清?看这一篇足够了!

    当前,华为云提供的数据库服务主要包括三大类:关系型数据库服务,非关系型数据库服务以及数据库工具服务.如下图所示: 关系型数据库和非关系型数据库均可分为开源和自研两大类.其中,自研数据库统一为Gauss ...

  9. Windows10数字权利永久激活教程

    很多人用Windows10系统,但是没有办法激活,这个教程一定会让你永久激活windows10系统(并非ksm)   打开设置,查看是否激活   如果激活的话,先退掉秘钥,在Windows power ...

  10. Apollo系列(一):分布式配置中心Apollo安装(Linux、Docker)

    一.介绍 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境.不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限.流程治理等特性,适用于微服务配置管理 ...