O script a seguir lerá cada uma das duas primeiras palavras em um hash e, em seguida, substituirá o IPV6 pelo IPV4 e interromperá a verificação de outros padrões, se você considerar que dois endereços podem existir na mesma linha, remova if (j>0) break
, do código.
código mixaddr
#!/usr/bin/nawk -f
BEGIN{while (getline<"map"){w[$1]=$2}}
{for (a in w){
j=gsub(a,w[a])
if (j>0) break
}
print
}
arquivo de mapeamento
2617:FB23:0:1::1/128 245.82.242.31/32
2217:AB23::/40 64.211.7.157/31
arquivo de hosts
!
ipv6 prefix-list CCAV6 seq 5 permit 2217:AB23::/40
route-map DENY-ALL deny 11
!
ip pim sparse-mode
ipv6 address 2617:FB23:0:1::1/128
ipv6 ospf 1 area 0.0.0.0
Execução
mixaddr hosts
!
ipv6 prefix-list CCAV6 seq 5 permit 64.211.7.157/31
route-map DENY-ALL deny 11
!
ip pim sparse-mode
ipv6 address 245.82.242.31/32
ipv6 ospf 1 area 0.0.0.0
HTH