linux(centos8):用sort对文本内容排序
一,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对文本内容排序的更多相关文章
- linux(centos8):用cut显示文本内容的指定列
一,cut命令的用途 从一个文本文件或者文本流中提取文本列 分别用: 字节.字符.字段 作为单位进行提取 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.co ...
- linux下批量查找/替换文本内容
一般在本地电脑上批量替换文本有许多工具可以做到,比如sublime text ,但大多服务器上都是无图形界面的,为此收集了几条针对linux命令行 实现批量替换文本内容的命令: 1.批量查找某个目下文 ...
- linux实用小命令--查看文本内容
一.cat命令 $ cat [参数]filename 这还有一些可以和cat命令一起用的参数,可能对你有所帮助. 1.-n 参数会所有的行加上行号: $ cat -n test1 2.这个功能在检查脚 ...
- linux(centos8):用uniq去除文本中重复的行(去重)
一,uniq命令的用途 1, 作用: 从输入文件或标准输入中找到相邻的匹配行, 并写入到输出文件或标准输出 2, 使用时通常会搭配sort使用 说明:刘宏缔的架构森林是一个专注架构的博客,地址:htt ...
- Linux sed命令实现替换文本内容
/root/data/code-s3201/publish_codex/deploy/db.properties db.properties中的 1.0.0.6 替换为 1.0.0.7 sed -i ...
- [转帖]linux Shell sort按照指定列排序
linux Shell sort按照指定列排序 https://blog.csdn.net/weixin_38308151/article/details/80760133 kubectl get p ...
- linux常用命令之--文本编辑和文本内容查看命令
linux的文本编辑和文本内容查看命令 1.文本编辑命令 vi:用于编辑文本文件,基本上可以分为三种模式,分别是一般模式.编辑模式.命令行模式. 一般模式:当编辑一个文件时,刚进入文件就是一般模式. ...
- Linux的文本编辑和文本内容查看命令
Linux的文本编辑和文本内容查看命令 1.文本编辑命令 vi:用于编辑文本文件,基本上可以分为三种模式,分别是一般模式.编辑模式.命令行模式. 一般模式:当编辑一个文件时,刚进入文件就是一般模 ...
- linux(六)之文本操作
接下来我们一起来看一下再linux中怎么去对文本进行操作的 一.文本文件 既然要操作文本,所以我们要对文本有一个了解,那什么是文本文件呢. 文本文件是一种由若干行字符构成的计算机文件.文本文件存在于计 ...
随机推荐
- 刀哥多线程自动释放池autoreleasepool
自动释放池 作用 自动释放对象的 所有 autorelease 的对象,在出了作用域之后,会被自动添加到最近创建的自动释放池中 自动释放池被销毁或者耗尽时,会向池中所有对象发送 release 消息, ...
- Vue企业级优雅实战04-组件开发01-SVG图标组件
(后续的文章 公众号会提前一周更新,欢迎关注文末的微信公众号:程序员搞艺术) 预览本文的实现效果: # gitee git clone git@gitee.com:cloudyly/dscloudy- ...
- spring boot 源码之SpringApplicationRunListeners
SpringApplicationRunListeners SpringApplicationRunListener的集合,内部存储了SpringApplicationRunListener的集合,提 ...
- XSS平台简单使用
XSS常用语句及编码绕过 XSS常用的测试语句有: <script>alert(1)</script> <img src=x onerror=alert(1)> & ...
- 基于python的webUI自动化-小白基础篇
最近打算研究一下基于python的webUI自动化,先自学了一下相关基础知识,大概用了一个多月的时间,主要是找视频,一边看视频或者文档一边对照着敲代码运行. 重点强调:一定要一边看一边对照着敲代码运行 ...
- 微信App支付接入步骤&支付中前后端交互流程
最近对微信App支付(App端集成微信支付SDK)申请步骤,以及终端在进行微信支付时商户App.商户Server.微信App.微信支付Server的交互流程进行了简单了解.这篇文章应该算是学习笔记,分 ...
- Go 分支流程
if/else 基本使用 if/else应该是每个编程语言中都具备的基本分支结构. 需要注意的是if||else与{要放在同一行上,否则会抛出异常. 另外,当多个else if出现时,不同分支只会执行 ...
- spring-boot-route(四)全局异常处理
在开发中,我们经常会使用try/catch块来捕获异常进行处理,如果有些代码中忘记捕获异常或者不可见的一些异常出现,就会响应给前端一些不友好的提示,这时候我们可以使用全局异常处理.这样就不用在代码中写 ...
- Python实现的数据结构与算法之基本搜索详解
一.顺序搜索 顺序搜索 是最简单直观的搜索方法:从列表开头到末尾,逐个比较待搜索项与列表中的项,直到找到目标项(搜索成功)或者 超出搜索范围 (搜索失败). 根据列表中的项是否按顺序排列,可以将列表分 ...
- python软件安装-Windows
开发语言: 高级语言:Java.C.PHP.Go.ruby.c++ #字节码 低级语言:C.汇编 #机器码 语 ...