当前位置:首页 > 编程笔记 > 正文
已解决

shell脚本处理日志转化为JsonArray

来自网友在路上 149849提问 提问时间:2023-09-21 10:11:05阅读次数: 49

最佳答案 问答题库498位专家为你答疑解惑

shell脚本
nginx_log_tranfer_json.sh

#!/bin/bash
# nginx 处理日志转化为jsonArray
set -ue
DATE_NOW="2020-09-20 "
DATE_START=`date -d '2020-09-20 00:00:00' +%s`
DATE_END=`date -d '2020-09-20 10:30:00' +%s`INPUT=$1
OUTPUT="exchange.json"echo "[" > $OUTPUT
while read line
doTIME=$DATE_NOW`echo $line | awk '{print $3}'| awk -F ':' '{print $2,$3,$4}'|sed 's/ /:/g'`TIME_F=`date -d "$TIME" +%s`if [[ $TIME_F -ge $DATE_START ]] && [[ $TIME_F -le $DATE_END ]]; then echo $line | awk -F '[||]' '{print $3}'| awk -F '\"token:'  '{print $1}'  | sed 's/^..//;s/\\//g;s/..$/,/'  >> $OUTPUTfi
done < $INPUT
echo "]" >> $OUTPUT

内容demo
1.txt

access.log:192.168.1.1 -  [18/Sep/2023:04:00:04 +0800] "<org.test.com> POST /api/open/test1/add?sign=43fdgdfghdtjy7tyjgh HTTP/1.1" 200 469 "" "Java/1.8.0_144" "0.034 0.034 ." "" || "{\"body\":{\"tradeStatusDesc\":\"已发货\",\"empId\":\"QZ117786\",\"definedCode\":\"delivered\",\"address\":\"北京\",\"productId\":\"001\",\"tradeNo\":\"123\",\"identityCardNumber\":\"123\",\"mobile\":\"123\",\"uuid\":\"123\",\"tradeTime\":\"2023-09-18 03:51:52\",\"userMobile\":\"123\",\"tradeStatus\":\"0\",\"waybillCode\":\"11\",\"username\":\"lisi\"}}" "token:Bearer aaa.bbb.ccc"
access.log:192.168.1.1 -  [18/Sep/2023:10:00:04 +0800] "<org.test.com> POST /api/open/test1/add?sign=43fdgdfghdtjy7tyjgh HTTP/1.1" 200 469 "" "Java/1.8.0_144" "0.034 0.034 ." "" || "{\"body\":{\"tradeStatusDesc\":\"已发货\",\"empId\":\"QZ117786\",\"definedCode\":\"delivered\",\"address\":\"北京\",\"productId\":\"001\",\"tradeNo\":\"123\",\"identityCardNumber\":\"123\",\"mobile\":\"123\",\"uuid\":\"123\",\"tradeTime\":\"2023-09-18 03:51:52\",\"userMobile\":\"123\",\"tradeStatus\":\"0\",\"waybillCode\":\"11\",\"username\":\"zhangsan\"}}" "token:Bearer aaa.bbb.ccc"

使用

bash nginx_log_tranfer_json.sh 1.txt
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"shell脚本处理日志转化为JsonArray":http://eshow365.cn/6-10614-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!