在 bash 脚本中使用 ip 命令获取 Ipv6 前缀

问题描述 投票:0回答:1

我在接口上的 ipv6 地址下方使用了命令:

> ip -6 a show dev wlan0

3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet6 fc00:6666::da3a:ddff:fecf:5023/64 scope global dynamic noprefixroute 
       valid_lft 86300sec preferred_lft 14300sec
    inet6 fe80::da3a:ddff:fecf:5023/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever 

在 shell 脚本中我只想获取全局前缀,例如:fc00:6666::/64

我的 Linux 系统上只有 ip 命令。
我可以使用“awk”、“sed”和“sed”,但我不熟悉正则表达式。

非常感谢!

sed ipv6 prefix
1个回答
0
投票

您可以使用以下命令使用

fc00:6666::/64
ip
awk
提取全局前缀(如
sed
):

ip -6 a show dev wlan0 | awk '/inet6 fc/{print $2}' | sed 's/::[0-9a-f]*\/64/::\/64/'
© www.soinside.com 2019 - 2024. All rights reserved.