首页 > 系统相关 >使用Linux命令sort及uniq对文件或屏幕输出进行分组统计

使用Linux命令sort及uniq对文件或屏幕输出进行分组统计

时间:2022-09-28 17:45:06浏览次数:47  
标签:sort 0.101 192.168 html Linux 80 uniq

【转载】:https://blog.51cto.com/hanzhichao/3436177

 

 

在日常Linux操作常常需要对一些文件或屏幕数次中重复的字段进行分组统计。另外分组统计也是常考的面试题之一。
实现的方法非常简单,核心命令为:sort | uniq --c | sort -rn 。

sort:对指定列进行排序,使该列相同的字段排练到一起
uniq -c:uniq命令用于检查及删除文本文件中重复出现的行列,uniq -c或uniq --count用于统计重复的行
sort -rn:sort -n将字符串数字按数字进行比较,-r则从大到小排列
题目1. 某个文本demo.txt文件,每一行一个单词,统计出现次数最多的3个单词
hello
hi
hello
world
world
my
word
hi
hello
1.
2.
3.
4.
5.
6.
7.
8.
9.
参考答案

sort demo.txt  | uniq -c | sort -rn | head -3
1.
执行结果如下

   3 hello
   2 world
   2 hi
1.
2.
3.
题目2. 统计Nginx日志access.log中出现最多的10个url
201.158.69.116 - - [03/Jan/2013:21:17:20 -0600] fwf[-] tip[-] 127.0.0.1:9000 0.007 0.007 MX pythontab.com GET /html/test.html HTTP/1.1 "200" 2426 "http://a.com" "es-ES,es;q=0.8" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"
187.171.69.177 - - [03/Jan/2013:21:17:20 -0600] fwf[-] tip[-] 127.0.0.1:9000 0.006 0.006 MX pythontab.com GET /html/test2.html HTTP/1.1 "200" 2426 "http://a.com" "es-ES,es;q=0.8" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11"
1.
2.
参考答案

cat access.log | awk '{print $14}'|sort|uniq -c | sort -rn | head -10
1.

sort access.log -k 14 | uniq -c | sort -rn | head -10| awk '{print $1,$15}'
1.
sort -k:指定列 -t:指定分隔符

执行结果如下

   1 /html/test2.html
   1 /html/test.html
1.
2.
题目3. 统计80端口,TCP链接状态,并按数量从大到小排序
netstat -nat | grep 80显示如下:

tcp4       0      0  192.168.0.101.57581    80.254.145.118.80      SYN_SENT
tcp4       0      0  192.168.0.101.57572    111.161.64.23.80       ESTABLISHED
tcp4       0      0  192.168.0.101.57565    60.29.242.162.80       ESTABLISHED
tcp4       0      0  192.168.0.101.57513    175.174.56.212.80      CLOSE_WAIT
tcp6       0      0  fe80::18e3:52d8:.56850 fe80::1cc0:75be:.62835 ESTABLISHED
tcp4       0      0  192.168.0.101.56178    175.174.56.212.80      CLOSE_WAIT
1.
2.
3.
4.
5.
6.
参考答案

netstat -nat | grep 80 | awk '{print $6}' | sort | uniq -c | sort -rn
1.
执行结果如下

登录后复制 
  27 ESTABLISHED
  10 LISTEN
   2 CLOSE_WAIT
   1 ce382f50fea83507
   1 ce382f50fea80df7
   1 SYN_SENT
   1

 

标签:sort,0.101,192.168,html,Linux,80,uniq
From: https://www.cnblogs.com/aaacarrot/p/16738993.html

相关文章

  • Linux挂载U盘报错:mount: unknown filesystem type 'ntfs'
    问题:Linux挂载U盘时,报错mount:unknownfilesystemtype'ntfs'错误。这是由于Linux上无法识别NTFS格式的分区的原因。解决办法:安装ntfs-3g[root@localhost~]#wgeth......
  • Jmeter 和wrk压测环境搭建(Linux)
    1、申请压测服务器资源配置信息:centos7.9  4cores 16gb磁盘10G,与应用服务器互通,能访问外网2、安装工具2,1上传文件的工具rz\szyum-yinstalllrzszrz上传本......
  • Linux文件读、写、执行权限
    一、常见的文件权限有3种,即对文件的读(用r表示)、写(用w表示)、执行(用x表示,针对可执行文件或目录)权限。r:读取权限,数字代号为:"4"。w:写入权限,数字代号为:"2"。x:执行或切换权......
  • Linux虚拟文件系统(VFS)
    1.虚拟文件系统(VFS)1.1VFS的情景虚拟文件系统主要是对文件进行抽象的模型,可以把文件模型当面向对象的方式区看待通用的文件模型对象组成超级块(superblock)索引节点......
  • linux sudo 命令
    “Sudo”是Unix/Linux平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的“权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务,比如:运行一......
  • 在Linux上运行matlab
    1.首先在集群上把matlab这个模块加载上。moduleloadmatlabXXX2.接下来运行。matlab-nodesktop-nosplash-rmatlabfilename(不加.m,可执行文件)也可以进入matlab环......
  • EasyCVR视频融合平台Linux版本解压安装包的一些注意事项
    EasyCVR视频融合平台支持多种协议、多种类型的设备接入,拥有灵活丰富的视频能力,可提供视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服务器集群等......
  • linux esxi虚拟机双网卡设置
    一、在esxi后台为虚拟机添加一个网卡    二、在虚拟机ssh登录,ipa可以看到新增的网卡   三、执行nmtui图形化配置网卡  选择add增加一个连接 ......
  • Linux系统替换War包中的Jar包,并重新打包成War包。
    步骤流程-解压-替换-打包解压1丶创建一个新目录[root@localhostwar-test]#pwd/war-test[root@localhostwar-test]#ls1.war[root@localhostwar-test]#unzip1.war......
  • linux 解压文件
    一、zip格式zip可能是目前使用的最多的文档压缩格式。优点:可以在不同的操作系统平台上使用。缺点:支持的压缩率不是很高。而tar.gz和tar.bz2在压缩率方面做得非常好......