一,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. 刀哥多线程自动释放池autoreleasepool

    自动释放池 作用 自动释放对象的 所有 autorelease 的对象,在出了作用域之后,会被自动添加到最近创建的自动释放池中 自动释放池被销毁或者耗尽时,会向池中所有对象发送 release 消息, ...

  2. Vue企业级优雅实战04-组件开发01-SVG图标组件

    (后续的文章 公众号会提前一周更新,欢迎关注文末的微信公众号:程序员搞艺术) 预览本文的实现效果: # gitee git clone git@gitee.com:cloudyly/dscloudy- ...

  3. spring boot 源码之SpringApplicationRunListeners

    SpringApplicationRunListeners SpringApplicationRunListener的集合,内部存储了SpringApplicationRunListener的集合,提 ...

  4. XSS平台简单使用

    XSS常用语句及编码绕过 XSS常用的测试语句有: <script>alert(1)</script> <img src=x onerror=alert(1)> & ...

  5. 基于python的webUI自动化-小白基础篇

    最近打算研究一下基于python的webUI自动化,先自学了一下相关基础知识,大概用了一个多月的时间,主要是找视频,一边看视频或者文档一边对照着敲代码运行. 重点强调:一定要一边看一边对照着敲代码运行 ...

  6. 微信App支付接入步骤&支付中前后端交互流程

    最近对微信App支付(App端集成微信支付SDK)申请步骤,以及终端在进行微信支付时商户App.商户Server.微信App.微信支付Server的交互流程进行了简单了解.这篇文章应该算是学习笔记,分 ...

  7. Go 分支流程

    if/else 基本使用 if/else应该是每个编程语言中都具备的基本分支结构. 需要注意的是if||else与{要放在同一行上,否则会抛出异常. 另外,当多个else if出现时,不同分支只会执行 ...

  8. spring-boot-route(四)全局异常处理

    在开发中,我们经常会使用try/catch块来捕获异常进行处理,如果有些代码中忘记捕获异常或者不可见的一些异常出现,就会响应给前端一些不友好的提示,这时候我们可以使用全局异常处理.这样就不用在代码中写 ...

  9. Python实现的数据结构与算法之基本搜索详解

    一.顺序搜索 顺序搜索 是最简单直观的搜索方法:从列表开头到末尾,逐个比较待搜索项与列表中的项,直到找到目标项(搜索成功)或者 超出搜索范围 (搜索失败). 根据列表中的项是否按顺序排列,可以将列表分 ...

  10. python软件安装-Windows

     开发语言: 高级语言:Java.C.PHP.Go.ruby.c++   #字节码 低级语言:C.汇编                                           #机器码 语 ...