美文网首页
使用grep和sed正则表达式从日志中提取信息

使用grep和sed正则表达式从日志中提取信息

作者: 十毛tenmao | 来源:发表于2021-08-04 21:30 被阅读0次

有时候在做简易日志分析的时候,需要从特定的日志记录中提取特定的信息

信息提取

假如有如下错误日志,我们需要提取shopId和orderNo

{"@message":"[2021-08-04 00:10:00.756][scheduling-1][ERROR][ProfitSharingCrontabManager:235][maibao-transaction][b0dab5d4eaa9e063]: fail to request profit sharing: order[ProfitSharingFinishOrder(id=15668, buyerId=11862667, shopId=406924, subMchid=1547072391, orderNo=MBORDER0080011608448, transactionId=4340800671202019714263, outOrderNo=MBPROFIN00700118042, wxOrderId=null, closeReason=null, finishAmount=null, status=NEW, deleted=0, finishTime=null, createTime=2021-07-28T16:41:28, updateTime=2021-07-28T16:41:28)]\ncom.tencent.maibao.transaction.WxException: 对同笔订单分账频率过高\n\
    1. 使用连续grep提取特定日志行
grep -F "fail to request profit sharing" all.log | grep "ProfitSharingCrontabManager:235" > log.dat
    1. 使用sed正则表达式提取数据
sed 's/.*shopId=\([0-9]*\).*orderNo=\(MBORDER[0-9]*\).*/\1 \2/g' log.dat
  • 2'. 使用扩展正则表达式(选项-E)
sed -E 's/.*shopId=([0-9]+).*orderNo=(MBORDER[0-9]+).*/\1 \2/g' log.dat

正则表达式不同之处

sed默认正则表达式

  • 不支持\d
  • 不支持+(表示1个或多个)
  • 捕获组的圆括号,需要转义
  • 替换组,使用反斜杠\1,其他地方大部分都是美元符号$1

sed扩展正则表达式

  • 不支持\d
  • 替换组,使用反斜杠\1,其他地方大部分都是美元符号$1

相关文章

  • 正则表达式---grep

    1、正则表达式 在日常处理日志的过程中,使用正则表达式的工具包括grep,sed,awk等,本次仅仅对grep和s...

  • 使用grep和sed正则表达式从日志中提取信息

    有时候在做简易日志分析的时候,需要从特定的日志记录中提取特定的信息 信息提取 假如有如下错误日志,我们需要提取sh...

  • 2019-07-24 课堂笔记sed命令

    昨天回顾 使用grep命令取IP地址 今日总结 sed执行原理sed执行原理.jpg sed [参数] '条件指令...

  • 三剑客 | grep

    使用 grep、sed、awk 等命令,要注意正则表达式的灵活使用 Global Search Regular E...

  • shell脚本编程 - 正则表达式

    支持正则表达式的命令有sed -r、grep -E、egrep和awk,下面是常见形式

  • grep sed参数整理

    1.grep 过滤sed 增删改查 过滤 替换 修改 取行awk 过滤 取列 统计计算grep 过滤-i 过滤不...

  • awk(2)

    使用正则表达式使grep和sed中的匹配操作在awk中也适用。 选择时忽略大小写 如果没有指定模式(目标),awk...

  • shell脚本(4)让文本飞

    目录1、通配符与正则表达式2、grep命令3、使用sed进行文本替换4、使用awk进行高级文本处理 1、通配符与正...

  • linux 之 grep 常用参数介绍

    grep 命令 过滤 显示要过滤的内容信息 配合Linux正则表达式使用 grep参数介绍: 常用参数如下

  • srt 字幕转 txt(不用 grep,不用 sed,而用 aw

    把 srt 字幕文件转成 text,或者说从 srt 文件中提取文本,网上有用 grep 的,也有用 sed 的,...

网友评论

      本文标题:使用grep和sed正则表达式从日志中提取信息

      本文链接:https://www.haomeiwen.com/subject/sfkpvltx.html