我有一个看起来像这样的日志文件
2019-03-15 04:30:41-0400 id:xxxx-84f1-xxxx-85xx-c4xxxx ip:127.0.0.1 apikey:-- rt:47.3ms 200 GET /end/point
-- Request --
some content
....
-- Response --
....
2019-03-15 04:31:00-0500 uid:diffrent-id ip:10.10.10.10. netip:10.10.10.10 apikey:-- rt:309ms 200 GET /some/other/end/point
我确实有id
,它紧挨发生的时间。我想提取与该id
相关的所有内容,直到下次发生,并将其保存到文件中。
答案 0 :(得分:2)
要获得两个模式之间的所有内容,可以使用以下sed
命令:
sed -n '/.* id:.*/,/.* uid:.*/p' log.txt
然后您会得到
-- Request --
some content
....
-- Response --
....
其中
-n
禁止自动打印图案空间
p
打印当前图案空间