BEGIN{ftp_flag=0;smdb_flag=0}{
if ($0 ~ "<p1:Item>")
{
print $0
getline line
print line
while (line !~ "</p1:Item>")
{
getline line
print line
while (line ~ "<p1:Type>SMDB</p1:Type>")
{
getline line
print line
while (line !~ "</p1:SMDB>")
{
smdb_flag=1
lines[row]=line
getline line
row++
if (line ~ "<p1:Protocol2>FTP</p1:Protocol2>" || line ~ "<p1:Protocol2>SFTP</p1:Protocol2>")
{
ftp_flag=1
}
}
if(smdb_flag=1)
{
for(i=1;i<row;i++)
{
print lines[i]
if(lines[i] ~ "<p1:Port>" && ftp_flag==0)
{
print "<p1:Protocol2>FTP</p1:Protocol2>"
print "<p1:Port2>21</p1:Port2>"
}
}
print line
ftp_flag=0
smdb_flag=0
delete lines
row=0
}
}
}
next
}
print $0
}