Linux sed 命令是利用脚本来处理文本文件。
sed -n
sed 可依照脚本的指令来处理、编辑文本文件,-n
表示 仅显示脚本处理后的结果。
查询某个时间段的日志
日志格式如下:
2021-07-31 13:54:35.596 INFO [http-nio-35086-exec-1] [AbstractRecordTemplate] [93788c4744c3922d] [357d284c50ea2648] [b3ad08823d8de230] [sr] [] [/api/save] [res-pool-026] - {"hubble.threadId":"78","sr":"1627710875596"}
2021-07-31 13:54:35.737 INFO [http-nio-35086-exec-1] [redis.Util] [93788c4744c3922d] [02245ca17bf537da] [357d284c50ea2648] [cs] [] [/api/save] [res-pool-026] - {"logtype":"redis#span","hubble.threadId":"78"}
2021-07-31 13:54:35.745 INFO [http-nio-35086-exec-1] [redis.Util] [93788c4744c3922d] [02245ca17bf537da] [357d284c50ea2648] [cr] [] [/api/save] [res-pool-026] - {"保存接口回调结束"}
如果需要查询2021-07-31 13:54:35~2021-07-31 13:55:59
时间段内的日志,指令如下:
sed -n '/2021-07-31 13:54:35.*/,/2021-07-31 13:55:59.*/p' console.log
结合grep查询:
sed -n '/2021-07-31 13:54:35.*/,/2021-07-31 13:55:59.*/p' console.log | grep "保存接口回调"