日志查询awk命令快速指南

本文介绍了awk作为强大的文本分析工具在日志查询中的应用。通过示例,展示了如何利用awk查找包含特定关键字的日志,组合多个关键字,按指定列筛选日志,以及改变字段分隔符等技巧,提高日志分析效率。

awk是一个强大的文本分析工具,处理文本适合 拥有比grep 更灵活强大的功能。
用来看日志可以起到事倍功半的效果:

用法: awk ‘{pattern + action}’ {filenames}
pattern为条件 action为随后的操作

举例:

查询日志中指定关键字的日志
less -f tomcat_stdout.log | awk ‘/款项同步库存/ {print $0 }’

awk 会在 less -f tomcat_stdout.log 执行之后的结果里面 将带有关键字的过滤出来

查询日志中指定多个关键字的日志

/关键字/ 如果是多个关键字 则 /关键字1&&关键字2…/ 多个关键字用&&分隔,会查找满足多个关键字的文本信息。

$0表示输出这行全部列。

awk 默认将一条信息里面 以空格分割成多列 ,$1表示第一列 $2表示第二列 …

例如:
less -f tomcat_stdout.log | awk ‘/款项同步库存/ {print $1 “\t” $2 }’

“\t” 是表示用tab符 分隔 开 两列 ,这里只是拆出了两列 并显示

3.查询日志时候按指定的范围筛

比如说按时间范围

less -f tomcat_stdout.log | awk ‘/款项同步库存/ {if($1>=“20191111:13:27:24.541”&& $1<=“20191111:13:27:27.650”) print $1 “\t” $2 }’

if($1>=“20191111:13:27:24.541”&& $1<=“20191111:13:27:27.650”)
print $1 “\t” $2

表示第一列的值大于"20191111:13:27:24.541" 且 小于 “20191111:13:27:27.650”
这样可以筛出来这个范围内

也可以指定某个列等于哪个值的

除了可以放到less -f tomcat_stdout.log后面 也可以放在任意查询语句后面 比如说tail -f , cat 等

4.默认是按空格切分列,也可以按其他分隔符

默认空格

less -f tomcat_stdout.log | awk ‘/款项同步库存/ { print $1 “\t” $2 }’

改成按 , 分割

less -f tomcat_stdout.log | awk -F ‘,’ ‘/款项同步库存/ { print $1 “\t” $2 }’

改成同时按空格和,分割
less -f tomcat_stdout.log | awk -F ’ |,’ ‘/款项同步库存/ { print $1 “\t” $2 }’

这里用|将两个分隔符放到一起 -F ‘ |,’

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值