快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → Linux日志查看命令

Linux日志查看命令

时间:2022-05-06 11:21:08人气:作者:快盘下载我要评论

无意看到这样一个命令:
cat cxx_Biz.log.2018-04-27-AM |grep ERROR| awk -F '[' '{print 2}'|awk -F ' ' '{print1}'| sort |uniq -c|wc -l

该命令用来统计日志中文本出现的次数。但是其中的命令不太熟悉。

我们一般用到的的日志查看相关指令:

tail -f -n 100 catalina.out

less catalina.out|grep ERROR

如果需要统计文本出现次数,比如Error出现的次数怎么办?因此需要具备一下知识:

1.cat命令:

cat命令是整个文件的内容从上到下显示在屏幕上。还可以将多个文件连接起来显示,它常与重定向符号配合使用,适用于文件内容少的情况.

at命令主要有三大功能
1.一次显示整个文件 cat filename
2.创建一个文件 cat > fileName
3.将几个文件合并为一个文件 cat file1 file2 > file
参数:

-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting

2.| 管道

管道的作用是将左边命令的输出作为右边命令的输入

3.awk 命令

awk 是行处理器,优点是处理庞大文件时不会出现内存溢出或处理缓慢的问题,通常用来格式化文本信息。awk依次对每一行进行处理,然后输出。

4.sort 命令

sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

-b:忽略每行前面开始出的空格字符;
-c:检查文件是否已经按照顺序排序;
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符;
-f:排序时,将小写字母视为大写字母;
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符;
-m:将几个排序号的文件进行合并;
-M:将前面3个字母依照月份的缩写进行排序;
-n:依照数值的大小排序;
-o<输出文件>:将排序后的结果存入制定的文件;
-r:以相反的顺序来排序;
-t<分隔字符>:指定排序时所用的栏位分隔字符;

5.uniq 命令

uniq 命令用于报告或忽略文件中的重复行,一般与sort命令结合使用
-c或——count:在每列旁边显示该行重复出现的次数;
-d或–repeated:仅显示重复出现的行列;
-f<栏位>或–skip-fields=<栏位>:忽略比较指定的栏位;
-s<字符位置>或–skip-chars=<字符位置>:忽略比较指定的字符;
-u或——unique:仅显示出一次的行列;
-w<字符位置>或–check-chars=<字符位置>:指定要比较的字符。

6.> 命令

命令 > 是定向输出到文件,如果文件不存在,就创建文件。如果文件存在,就将其清空
另外 >>是将输出内容追加到目标文件中。其他同>

演示

创建文件

➜  uc cat > test_1.log
ERROR [dewdwededeqw
ERROR [adswwxdwexweddsacd
Exception
ddxwwdxw
DWSxwxwx
ERROR [123421342312^[[D^[[D
ERROR [Heal-Session-Thread] (MemcachedConnector.java:166) - Reconnect to 192.168.200.123:8888 fail
 ERROR [Xmemcached-Reactor-0] (MemcachedConnector.java:528) - Exception occured in contr


查看文件

➜  uc cat test.log
ERROR
EXCEPTION
ERROR
ERROR


取出每一行需要的字符串

➜  uc cat test_1.log | awk -F '[' '{print $1}'
ERROR
ERROR
Exception
ddxwwdxw
dwsxwxwx
ERROR
ERROR
 ERROR


说明:awk命令:-F指定分隔符"[",是一个正则表达式;{print $1}指把第一个值打印出来。

3 对行进行排序
先排序是因为去重与统计的 ‘unip’命令只能处理相邻行

➜  uc cat test_1.log | awk -F '[' '{print $1}'|sort
 ERROR
ERROR
ERROR
ERROR
ERROR
Exception
ddxwwdxw
dwsxwxwx


4 统计数量与去重

➜  uc cat test_1.log | awk -F '[' '{print $1}'|sort|uniq -c
   1  ERROR
   4 ERROR
   1 Exception
   1 ddxwwdxw
   1 dwsxwxwx


可以得到每个字符串所对应的出现次数

5 按重复次数排序

➜  uc cat test_1.log | awk -F '[' '{print $1}'|sort|uniq -c|sort -rn
   4 ERROR
   1 dwsxwxwx
   1 ddxwwdxw
   1 Exception
   1  ERROR


sort 的 -n:依照数值的大小排序;-r 按照相反顺序排列

6 将结果输出到文件中

➜  uc cat test_1.log | awk -F '[' '{print $1}'|sort|uniq -c|sort -rn>test_res.log


回到最开始的命令就容易明白其含义了。

cat cxx_Biz.log.2018-04-27-AM |grep ERROR| awk -F '[' '{print $2}'|awk -F ' ' '{print $1}'| sort |uniq -c|wc -l


其中的wc命令是干什么的?

Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
1.命令格式:
wc [选项]文件...

2.命令功能:
统计指定文件中的字节数、字数、行数,并将统计结果显示输出。该命令统计指定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所指定文件的总统计数。

3.命令参数:
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
--version 显示版本信息

比如统计总行数:

➜  uc cat test_1.log | awk -F '[' '{print $1}'|sort|uniq -c
   1  ERROR
   4 ERROR
   1 Exception
   1 ddxwwdxw
   1 dwsxwxwx
➜  uc cat test_1.log | awk -F '[' '{print $1}'|sort|uniq -c|wc -l
       5


相关文章

  • CorelDRAW怎么撤销命令?- CorelDRAW撤销命令教程攻略

    CorelDRAW怎么撤销命令?- CorelDRAW撤销命令教程攻略,大家使用CorelDraw过程中,想要撤销命令,怎么操作呢?下文就是CorelDraw中撤销命令的具体使用介绍,希望阅读过后对你有所启发。...
  • 常用网络命令和端口

    常用网络命令和端口,了解常用的网络服务端口号掌握常见网络命令及使用场景工程师天天使用计算机做软件开发,有时候出了问题需要确定到底是自己的问题,还是网络的问题。所以学习并了解一些常见的计算机命令和开发中常用的端口,对开发工作会有很多实际的帮助。...

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。