【发布时间】:2019-06-26 08:13:47
【问题描述】:
我在编写一个单行语句时遇到问题,它将选择括号之间的数字,用双引号括起来,插入一个逗号,然后选择“USER_RULE:”之后的所有文本直到下一个双引号。
这是我的文件的一个小样本:
@213(1547485175) pass in quick on igb0 inet proto udp from <MGMT_HOSTS:1> to <UNRAID_IP:1> port = http keep state label "USER_RULE: Local Mgmt Services"
@174(1548683908) block return in quick on ALL_LAN inet proto tcp from <LOCAL_NETWORKS:7> to <LOCAL_BROADCAST:8> label "USER_RULE: Local Broadcast Noise"
@157(1547555119) block return in log quick on ALL_LAN inet from ! <NO_PFBLOCKER:1> to <pfB_BAD_IP_v4:55258> label "USER_RULE: pfb_Bad_IP (outbound)"
@137(1547478025) pass in quick on igb0 inet proto tcp from 192.168.1.0/24 to (self:13) port = ssh flags S/SA keep state label "USER_RULE: Anti-Lockout"
@386(1548774638) pass in quick on igb0.10 route-to (ovpnc1 10.20.48.141) inet proto udp from <MOBILE_DEVICES:5> to ! <PRIVATE_NETWORKS:3> port = https keep state label "USER_RULE: Policy Route" tag NO_WAN_EGRESS
这是我的预期输出:
"1547485175",Local Mgmt Services
"1548683908",Local Broadcast Noise
"1547555119",pfb_Bad_IP (outbound)
"1547478025",Anti-Lockout
"1548774638",Policy Route
我尝试了 awk、sed 和 grep 的各种组合,我可以得到我想要的输出。我就是搞不定。我会免除你我丑陋的失败尝试。
【问题讨论】:
-
如果您让我们免于“丑陋的失败尝试”,那么您的问题可能只会遭到多次反对并被关闭,从那时起您就不会提供在此论坛上提问所需的最少信息(请参阅@ 987654321@) 所以请 - 不要放过我们:-)。