使用 Zgrep 和 awk 解析 .tgz 文件并打印第一行
using Zgrep and awk to parse a .tgz file and print first row
我想使用 Zgrep 和 Awk 打印特定行。
我使用下面的脚本。但是,我无法打印特定的行要求。
zcat 系统20210519.tgz | awk '/11055/ && /2.5.5.5/'
如果有人能帮忙就好了。谢谢
文件名:SYS.20210519.tgz
文件输入:
20210519 072532 11055 ERROR Connection is not writable, error[grpId[2.5.5.5/49.3.14.13:17126] connId[142706130] testMode[true] connInfo[ConnInfo[connId=142706130, connGrp=2.5.5.5/49.3.14.13:17126,
文件输出(需要):
20210519 072532 11055 ERROR Connection is not writable, error[grpId[2.5.5.5/49.3.14.13:17126]
根据您展示的示例,请您尝试以下操作。使用 zcat
读取您的 Input_file 然后将其输出作为标准输入发送到 awk
程序。使用 match
函数匹配正则表达式的地方,它将打印直到 error[grpId 的值直到 ]
出现。
zcat Input_file |
awk 'match([=10=],/.*error\[grpId\[[^]]*\]/){print substr([=10=],RSTART,RLENGTH)}'
我想使用 Zgrep 和 Awk 打印特定行。
我使用下面的脚本。但是,我无法打印特定的行要求。
zcat 系统20210519.tgz | awk '/11055/ && /2.5.5.5/'
如果有人能帮忙就好了。谢谢
文件名:SYS.20210519.tgz
文件输入:
20210519 072532 11055 ERROR Connection is not writable, error[grpId[2.5.5.5/49.3.14.13:17126] connId[142706130] testMode[true] connInfo[ConnInfo[connId=142706130, connGrp=2.5.5.5/49.3.14.13:17126,
文件输出(需要):
20210519 072532 11055 ERROR Connection is not writable, error[grpId[2.5.5.5/49.3.14.13:17126]
根据您展示的示例,请您尝试以下操作。使用 zcat
读取您的 Input_file 然后将其输出作为标准输入发送到 awk
程序。使用 match
函数匹配正则表达式的地方,它将打印直到 error[grpId 的值直到 ]
出现。
zcat Input_file |
awk 'match([=10=],/.*error\[grpId\[[^]]*\]/){print substr([=10=],RSTART,RLENGTH)}'