La magie noire du Shell, l'horreur ! :'(
L30 host "$1" | grep -i ipv6 | rev | cut -d ' ' -f 1 | rev
On peut remplacer le pipeline ci-dessus par dig. Cela affiche uniquement l'adresse IPv6.
dig lafibre.info AAAA +short
Sinon, on aurait pu filtrer avec awk ou avec GNU grep. Cela produit des faux-positifs en fonction de la sortie de la commande (e.g. ip a). En fait, on peut substantiellement simplifier l'expression
en faisant des présuppositions sur le format de l'adresse.
host lafibre.info | awk \
'match($0, /(:?[[:xdigit:]]{,4}:?){,7}:[[:xdigit:]]{1,4}/) { print substr($0, RSTART, RLENGTH) }'
host lafibre.info | grep -o -E '(:?[[:xdigit:]]{,4}:?){,7}:[[:xdigit:]]{1,4}'