日志分析涉及的命令

日志分析

按某个字段过滤

需要分析tomcat的access log,找到错误码为404的请求是哪些:

> $ awk -F ' ' '$10==404{print $4,$8}' localhost_access_log.2019-07-11.txt

打印行号

awk '{print NR}'

打印整行

awk '{print $0}'

同时按URL和客户端IP统计

$ awk -F ' ' '{print $30}' test.log |sort |uniq -c|sort -rnk 1|awk -F ' ' '{print $2}' | while read line; do echo =======$line===========; grep $line test.log|awk -F ' ' '{print $40}'|sort|uniq -c|sort -rnk 1; done;

输出结果:

=======/abc===========
      5 "10.xx.xx.236"
      2 "10.xx.xx.238"
      2 "10.xx.xx.237"
=======/xyz===========
      1 "10.xx.xx.235"

awk 正则表达式匹配

shell脚本用到了一段awk,一时没看懂

awk '$1~/^abc$/{print $2}' /tmp/test.log

查了awk工具的介绍,关于正则表达式有一批博客不错:awk 系列:如何使用 awk 和正则表达式过滤文本或文件中的字符串
但是没有$1~的介绍,又搜索一番,总结如下:
‘$1~/pattern/action’ 表示$1匹配指定内容后才执行action,pattern是以$1作为输入,而不是整行作为输入。

sed进行字符替换

echo "\"123\"" |sed s/\"//g

sed命令的格式是sed s/oldstring/newstring/g

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值