如何在sun solaris上使用awk解析测试文件

如何在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

我想使用awk在sun solaris上解析文本文件,并在genome terminal 2.6.1上执行

我已经开始帮助我们在论坛上的支持,开始贝娄代码

从第一部分开始,然后我们将转到其他部分

下面的代码打印仅添加IP=A | B | C,但不带引号(输出文件中的引号是必需的)

有人能帮我吗

 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

您的预期输出不清楚,请务必让我们知道获取此输出的逻辑。