【发布时间】:2018-04-08 09:53:00
【问题描述】:
我想用 awk 用冒号分割一个变量,但只有最后一个变量。
从此输入:
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
我想要以下输出:
protocol=tcp source=0.0.0.0/0 destination=0.0.0.0/0 port=22
这是我现在的 awk 命令:
awk '/^ACCEPT/ {print "protocol=",$2, "source=",$4,"destination=",$5,"port=",$7}"
产生:
protocol=tcp source=0.0.0.0/0 destination=0.0.0.0/0 port=dpt:22
但我想从$7 中获得22 而不是dpt:22
我尝试过使用 awk 的字段分隔符,但我可以弄清楚如何使其仅适用于单个变量
【问题讨论】:
-
没有分号。
:是冒号,;是分号。 -
您是否尝试过使用
split()功能?该名称就在您的问题标题中。