欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

linux操作——shell脚本提取日志文件中的关键字

程序员文章站 2022-03-04 09:26:14
一.需求背景:对部署在服务器上的项目日志通过shell脚本进行awk分词处理二.实现功能:利用awk强大的文本处理功能,对info日志中“error”-->所在行及其下一行 进行提取并重定向到指定txt;#昨天日期 注意 ``DATE=`date+”%Y-%m-%d” –d “-24hour”`#原日志地址bill_path=/data/bill/info#重定向地址bill_txt_path=~/bill_daily_log/${DATE}.txt#创建文件if [ !....

一.需求背景:对部署在服务器上的项目日志通过shell脚本进行awk分词处理

二.实现功能:利用awk强大的文本处理功能,对info日志中“error”-->所在行及其下一行  进行提取并重定向到指定txt;

#昨天日期 注意 ``
DATE=`date+”%Y-%m-%d” –d “-24hour”`

#原日志地址
bill_path=/data/bill/info
#重定向地址
bill_txt_path=~/bill_daily_log/${DATE}.txt

#创建文件
if [ ! –f ${bill_txt_path} ];then
	touch ${bill_txt_path}
	echo “bill文件创建完成”
else 
	echo “bill文件已存在”
fi

#查找日志中存在“error”的匹配行及其下一行并将数据写入创建的txt
cd ${bill_path}
files=`find . –name ‘ybill.log.${DATE}*’`

echo “查询到与日期匹配的日志文件:”
echo ${files}
for item in $files
do
	echo ”----文件:” ${item} >>${ybill_txt_path}
	echo ${item}
	awk ‘$0~/ERROR/{print NR”)”,$0;getline;print NR”)” $0;}’  $item >>ybill_api_txt_path}}
done

 

本文地址:https://blog.csdn.net/weixin_44758548/article/details/107324657