我有一个tar.gz文件(名为logs.tar.gz(,其中包含数千条信息,如下所示:
2020-06-07 09:02:14.983 {"action":"request","categoryName":"INN","url":"/inn/entryCategory/fetch","loginName":"+441234123456","token":"abcxyz","body":{"approvalType":""}}
我想从上面的日志示例中使用以下三段字符串:
2020-06-07 09:02:14.983
/inn/entryCategory/fetch
+441234123456
即 1-
我想以这种格式获取完整日期,2- 想要获取 URL
3- 最后想要获取登录名,
在我的情况下是电话号码。
我成功地一个接一个地拉出结果。但是我想一次性zgrep所有三个字符串。(仅获取那些携带所有三个字符串的结果(
我正在使用的命令是:
zgrep -a "/inn/entryCategory/fetch" logs.tar.gz
如果我想从一行中 zgrep 删除三段以上的字符串,命令是什么。
如果有人愿意帮忙,我将非常感激。
如果我理解正确,那么您可以在要匹配的每个文本之间放置.*
,然后您将获得所有三者都存在的行。
例如
zgrep "2020-06-07 09:02:14.983.*/inn/entryCategory/fetch.*+441234123456
这是你的意思吗?