1

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

我想从上面的日志示例中 zgrep 以下三段字符串:

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 三个以上的字符串,命令是什么。

将非常感谢,如果有人会帮助。

4

1 回答 1

0

如果我理解正确,那么您可以.*在要匹配的每个文本之间放置,然后您将得到所有三个都存在的行。

例如

zgrep "2020-06-07 09:02:14.983.*/inn/entryCategory/fetch.*+441234123456 

这是你的意思吗?

于 2020-06-07T17:22:07.627 回答