Dafür gibt es viele Möglichkeiten.
Hier ist einer:
ip addr show dev eth0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'
 Es ähnelt Roberts Antwort, außer dass nur die Adresse entfernt wird.
Sie könnten Folgendes verwenden:
ip -6 addr
 Es werden alle von Ihnen konfigurierten IPv6-Adressen zurückgegeben.
 Unter Linux können Sie auch Folgendes parsen:/proc/net/if_inet6 
Die erste Spalte ist die vollständige IPv6 ohne Doppelpunkte. Die sechste Spalte ist der Schnittstellenname.
Hier eine ziemlich lange nicht optimierte Version (ich habe jetzt erst die Grundlagen von awk kennengelernt). Vielleicht ist Python/Perl die bessere Wahl.
for i in "$(grep enp0s25 /proc/net/if_inet6)"; do
    echo "$i" | awk '{
        split($1, _, "[0-9a-f]{,4}", seps)
        joined = sep = ""
        for (i=1; i in seps; i++) {
            joined = joined sep seps[i]
            sep = ":"
        }
        print joined
    }'
done
 Wenn Sie GNU awk (gawk) haben, kann dies verkürzt werden zu:
for i in "$(grep enp0s25 /proc/net/if_inet6)"; do
    echo "$i" | gawk '@include "join"
    {
        split($1, _, "[0-9a-f]{,4}", seps)
        print join(seps, 1, length(seps), ":")
    }'
done
 Sie können es in eine {ba,z,}sh-Funktion einfügen, um es später zu verwenden.