Le script correspond à l'IP privée dans le fichier et imprime la 3ème colonne.
La valeur de la 3ème colonne peut être soit IPv4 soit IPv6. L'adresse IPv4 est suivie d'un ":PORT". Je peux exécuter sed 's/:.*//g'
mais cela aura également un impact sur l'adresse IPv6 si elle est imprimée. De même, si j'utilise des FS multiples [, :], l'adresse IPv4 sera imprimée, mais seulement le premier octet de l'adresse IPv6.
Ma solution consiste à supprimer le ":PORT" de la fin de l'adresse IPv4.
$ cat openvpn-status.log
10.13.0.27,ijegunbead-4,74.201.72.222:49911,2022-06-26 02:55:26
10.13.0.23,biddy-h-1,2803:4600:1111:17ec:a821:1a8:53ca:760d,2022-06-26 02:55:28
J'ai fait tourner ceci dans une boucle while, un cycle dst sera == 10.13.0.27
le suivant == 10.13.0.23
dst1=$(egrep -w ^$dst /etc/openvpn/openvpn-status.log | awk -F'[,:]' '{print $3}')
Résultat :
74.201.72.222
2803
Résultat souhaité :
74.201.72.222
2803:4600:1111:17ec:a821:1a8:53ca:760d
J'ai essayé ceci mais pas de chance
dst1=$(egrep -w ^$dst /etc/openvpn/openvpn-status.log | awk -F',' '{print $3}') | sed 's/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:*//g'