如何在sun solaris上使用awk解析测试文件
我想使用awk在sun solaris上解析文本文件,并在genome terminal 2.6.1上执行 我已经开始帮助我们在论坛上的支持,开始贝娄代码 从第一部分开始,然后我们将转到其他部分 下面的代码打印仅添加IP=A | B | C,但不带引号(输出文件中的引号是必需的) 有人能帮我吗如何在sun solaris上使用awk解析测试文件,awk,solaris,Awk,Solaris,我想使用awk在sun solaris上解析文本文件,并在genome terminal 2.6.1上执行 我已经开始帮助我们在论坛上的支持,开始贝娄代码 从第一部分开始,然后我们将转到其他部分 下面的代码打印仅添加IP=A | B | C,但不带引号(输出文件中的引号是必需的) 有人能帮我吗 nawk -v s1="\" ' /^IPDATA/ && /IPID .*/{ if(FNR>1) print s1 "ADD IP" s
nawk -v s1="\" ' /^IPDATA/ && /IPID .*/{ if(FNR>1) print s1 "ADD IP" s1 "="s1 $NF OFS s1 }' test
注意:Ref是IPREF行的总和,在本例中,我们有三个:[2]&&[2]&[1]
示例文本文件实际上是巨大的,但我对其进行了总结:
IPDATA=A IPID A
IPDATA=A IPREF [2] =
--- IPREF = VRID=A_1
--- IPREF = VRID=A_2
IPDATA=B IPID B
IPDATA=B IPREF [2] =
--- IPREF = VRID=B_1
--- IPREF = VRID=B_2
IPDATA=C IPID C
IPDATA=C IPREF [1] =
--- IPREF = VRID=C_1
预期产出:
"ADD IP=A "
show
(
set "ELEM =1"
id "A"
MT POL
M1 no
M2 5
AD 2
Ref sum of IPREF 2
"Type vlan=VRID=A_1"
"Type vlan=VRID=A_2"
)
"ADD IP=B "
show
(
set "ELEM =1"
id "B"
MT POL
M1 no
M2 5
AD 2
Ref sum of IPREF 2
"Type vlan=VRID=B_1"
"Type vlan=VRID=B_2"
)
"ADD IP=C "
show
(
set "ELEM =1"
Id "C"
MT POL
M1 no
M2 5
AD 2
Ref sum of IPREF 1
"Type vlan=VRID=C_1"
)
谢谢以下代码仅适用于第一部分和第三部分:
nawk -v s1="\" ' /^IPDATA/ && /IPID .*/{ if(FNR>1){ print ")" }print "ADD IP=" $NF ORS "show\n" "(\n" "id=" $NF "\n" } /^--- IPREF/{ print s1 "Type vlan="$NF s1 } ' file1
输出如下所示:
ADD IP=A
show
(
id=A
Type vlan=VRID=A_1
Type vlan=VRID=A_2
)
ADD IP=B
show
(
id=B
Type vlan=VRID=B_1
Type vlan=VRID=B_2
)
ADD IP=C
show
(
id=C
Type vlan=VRID=C_1
您的预期输出不清楚,请务必让我们知道获取此输出的逻辑。