我想使用Zgrep和Awk来打印特定的行。
我使用下面的脚本。但是,我无法打印具体的行要求。
zcat SYS.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
函数匹配正则表达式,它将打印直到出现错误[grpId直到]
。
zcat Input_file |
awk 'match($0,/.*error[grpId[[^]]*]/){print substr($0,RSTART,RLENGTH)}'