我使用radvd以3002:0200:00bc:098a :: / 64格式生成64位前缀,但它以3002:200的形式显示在客户端设备的eth0中:bc:98a :: / 64。现在我有脚本提取此地址并保存到文件中,例如" temp" as 3002:200:bc:98a。我现在需要将其更改为表格3002:0200:00bc:098a我们将不胜感激。
答案 0 :(得分:0)
$ cat ip.txt
3002:200:bc:98a
20:1:ad:8b
$ perl -lpe 's/[^:]+/sprintf "%04s", $&/ge' ip.txt
3002:0200:00bc:098a
0020:0001:00ad:008b
[^:]+
要转换的字段ge
其中g
用于替换所有匹配,e
是允许在替换部分中使用Perl代码sprintf "%04s", $&
根据需要格式化匹配的字符串