我希望能够使用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命令:
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的字段分隔符,但是我不知道如何只应用于一个变量
:
是冒号,;
是分号。 - Barmarsplit()
函数吗?函数名就在你的问题标题中。 - Barmar