shell中grep结合awk及sed的简单使用

日志内容大致如下:

2020-06-02 16:06:40.575 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Decoder - <<<<< ip:/192.168.81.254:53655,hex:020000310188680420060c49000000000000000301611adb06c3de0000040000000020060216032201040000079f050300000030010d3101068202007973
2020-06-02 16:06:40.575 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Decoder - <<<<< ip:/192.168.81.254:53655,hex:020000310188680420060c4a000000000000000301611adb06c3de0000040000000020060216032301040000079f050300000030010d3101068202007870
2020-06-02 16:06:40.577 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200574, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60BE1D8C, offsetMsgId=C0A8517C00002A9F00000000050AAC34, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-a, queueId=2], queueOffset=2667]
2020-06-02 16:06:40.578 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.14108, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:31]
2020-06-02 16:06:40.578 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200578, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.578 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Decoder - <<<<< ip:/192.168.81.254:53655,hex:020000310188680420060c4b000000000000000301611ad906c3de0000040000000020060216032401040000079f050300000030010d3101068202007874
2020-06-02 16:06:40.579 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Decoder - <<<<< ip:/192.168.81.254:53655,hex:020000310188680420060c4c000000000000000301611ad906c3de0200040000000020060216032501040000079f050300000030010d3101068202007870
2020-06-02 16:06:40.579 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=47, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.579 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=45, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.580 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200578, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60C21D8D, offsetMsgId=C0A8517C00002A9F00000000050AAE19, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-a, queueId=3], queueOffset=2666]
2020-06-02 16:06:40.580 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.14108, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:32]
2020-06-02 16:06:40.580 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200580, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.580 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=48, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.582 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200580, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60C41D8E, offsetMsgId=C0A8518200002A9F0000000005237746, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-b, queueId=0], queueOffset=2677]
2020-06-02 16:06:40.582 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:17]
2020-06-02 16:06:40.582 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200582, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.587 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=49, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.591 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200582, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60CB1D8F, offsetMsgId=C0A8518200002A9F000000000523792B, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-b, queueId=1], queueOffset=2675]
2020-06-02 16:06:40.591 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:18]
2020-06-02 16:06:40.591 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200591, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.593 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200591, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60CF1D90, offsetMsgId=C0A8518200002A9F0000000005237B11, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-b, queueId=2], queueOffset=2672]
2020-06-02 16:06:40.594 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:19]
2020-06-02 16:06:40.594 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200594, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.595 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=50, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.595 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=51, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.596 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200594, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60D21D91, offsetMsgId=C0A8518200002A9F0000000005237CF7, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-b, queueId=3], queueOffset=2667]
2020-06-02 16:06:40.596 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:20]
2020-06-02 16:06:40.597 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200596, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.597 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=52, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.601 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200596, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60D51D92, offsetMsgId=C0A8517C00002A9F00000000050AAFFE, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-a, queueId=0], queueOffset=2676]
2020-06-02 16:06:40.601 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:21]
2020-06-02 16:06:40.601 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200601, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.602 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=53, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.604 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200601, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60DA1D93, offsetMsgId=C0A8517C00002A9F00000000050AB1E4, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-a, queueId=1], queueOffset=2665]
2020-06-02 16:06:40.605 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:22]
2020-06-02 16:06:40.605 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200605, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.605 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=54, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.608 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200605, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60DD1D94, offsetMsgId=C0A8517C00002A9F00000000050AB3CA, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-a, queueId=2], queueOffset=2668]
2020-06-02 16:06:40.608 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:23]
2020-06-02 16:06:40.608 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200608, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.608 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=55, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.612 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200608, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60E01D95, offsetMsgId=C0A8517C00002A9F00000000050AB5B0, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-a, queueId=3], queueOffset=2667]
2020-06-02 16:06:40.612 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.14108, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:24]
2020-06-02 16:06:40.612 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200612, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.612 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=56, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.615 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200612, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60E41D96, offsetMsgId=C0A8518200002A9F0000000005237EDD, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-b, queueId=0], queueOffset=2678]
2020-06-02 16:06:40.615 [defaultEventExecutorGroup-3-26] INFO  c.tech.iotgw.jt808.handler.LocationMsgHandler - LocationMsg [alarm=0, statusField=3, latitude=23.14108, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:25]
2020-06-02 16:06:40.615 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_LOCATION-1591085200615, topic=DEVICE_TOPIC-TEST, tags=IN_LOCATION
2020-06-02 16:06:40.615 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=57, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:06:40.617 [defaultEventExecutorGroup-3-26] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_LOCATION-1591085200615, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089B60E71D97, offsetMsgId=C0A8518200002A9F00000000052380C2, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-b, queueId=1], queueOffset=2676]
2020-06-02 16:06:40.617 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=58, packageTotal=0, packageSeq=0], payload=null]
2020-06-02 16:11:38.888 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Decoder - <<<<< ip:/192.168.81.254:53655,hex:000200000188680420060c61ac
2020-06-02 16:11:38.889 [nioEventLoopGroup-2-22] INFO  c.t.iotgw.jt808.handler.HeartBeatMsgHandler - BaseMsg [header=BaseHeader [msgId=2, msgBodyProps=0, terminalPhone=018868042006, flowId=3169, packageTotal=0, packageSeq=0], payload=PooledUnsafeHeapByteBuf(freed)]
2020-06-02 16:11:38.889 [nioEventLoopGroup-2-22] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息,keys=IN_HEARTBEAT-1591085498889, topic=DEVICE_TOPIC-TEST, tags=IN_HEARTBEAT
2020-06-02 16:11:38.893 [nioEventLoopGroup-2-22] INFO  c.t.i.jt808.mq.service.impl.RocketMQProduceService - 同步发送消息响应,keys=IN_HEARTBEAT-1591085498889, response=SendResult [sendStatus=SEND_OK, msgId=AC110002000139FB3AB6089FEE0A1D98, offsetMsgId=C0A8518200002A9F00000000052382A7, messageQueue=MessageQueue [topic=DEVICE_TOPIC-TEST, brokerName=broker-b, queueId=2], queueOffset=2673]
2020-06-02 16:11:38.893 [nioEventLoopGroup-2-22] INFO  com.tech.iotgw.jt808.codec.JT808Encoder - BaseMsg [header=BaseHeader [msgId=-32767, msgBodyProps=0, terminalPhone=018868042006, flowId=59, packageTotal=0, packageSeq=0], payload=null]

脚本

#!/bin/bash

if [ -z "$1" ];then
  echo "请输入起止时间,格式 sh nn.sh '2020-06-02 15:25:00' '2020-06-02 16:00:00'"
  exit 2
fi

#获取开始行号
START_LINE=$( grep -n '$1' web_info.log | awk -F':' '{print $1}' | head -n 1 )

#获取结束行号
END_LINE=$( grep -n '$2' web_info.log | awk -F':' '{print $1}' | head -n 1 )

NSTR=$( echo $1 | awk -F' ' '{print $2}' | sed 's/:/-/g' )
NEND=$( echo $2 | awk -F' ' '{print $2}' | sed 's/:/-/g' )
sed '/${START_LINE},${AND_LINE}/p' web_info.log | awk -F' LocationMsg ' '{print $2}' | sed '/^$/d' > ${NSTR}_${NEND}.log

运行

sh nn.sh '2020-06-02 15:25:00' '2020-06-02 16:00:00'

结果

[root@pgslave1 logs]# ll
总用量 36692
-rw-r--r--. 1 root root  1336377 6月   3 09:55 15-25-00_16-00-00.log
-rw-r--r--. 1 root root      579 6月   3 09:51 nn.sh
-rw-r--r--. 1 root root        0 6月   1 11:10 web_debug.log
-rw-r--r--. 1 root root  5095492 6月   1 16:51 web-error-2020-06-01.0.log
-rw-r--r--. 1 root root    18336 6月   2 15:49 web_error.log
-rw-r--r--. 1 root root 16475719 6月   1 18:43 web-info-2020-06-01.0.log
-rw-r--r--. 1 root root 14618194 6月   2 16:41 web_info.log
-rw-r--r--. 1 root root      485 6月   1 19:03 web-warn-2020-06-01.0.log
-rw-r--r--. 1 root root      628 6月   2 15:03 web_warn.log

//15-25-00_16-00-00.log脚本运行后的结果

日志内容

[root@pgslave1 logs]# tail 15-25-00_16-00-00.log 
[alarm=0, statusField=3, latitude=23.14108, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:32]
[alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:17]
[alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:18]
[alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:19]
[alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:20]
[alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:21]
[alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:22]
[alarm=0, statusField=3, latitude=23.141085, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:23]
[alarm=0, statusField=3, latitude=23.14108, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:24]
[alarm=0, statusField=3, latitude=23.14108, longitude=113.49965, elevation=4, speed=0, direction=0, time=2020-06-02 16:03:25]
原文地址:https://www.cnblogs.com/linyouyi/p/13035624.html