Linux:zgrep 在一行中从 tar.gz 文件中获取多个字符串



我有一个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 

这是你的意思吗?

相关内容

  • 没有找到相关文章

最新更新