826540272
V2EX  ›  Linux

请教一下 sed/ awk 的用法

By 826540272 at 2021 年 8 月 2 日 · 2544 次点击
用来把 ipv6 地址转换成固定的 ipv6 前缀
大概就是删除第四个冒号及其之后的所有内容 /保留第四个冒号之前的所有内容
2001:db80::a00:27ff:fe67:cd9c

查了挺久没查到,用来给路由器内网设备分配 ipv6 ddns 的
7 条回复  •  2021-08-05 17:09:26 +08:00
FurN1
   1
FurN1  
   2021 年 8 月 2 日
你要学的是 regex,然后在 sed/awk 里用
Atomo
   2
Atomo  
   2021 年 8 月 3 日 via Android
Atomo
   3
Atomo  
   2021 年 8 月 4 日 via Android
kaiger
   4
kaiger  
   2021 年 8 月 4 日
echo “2001:db80::a00:27ff:fe67:cd9c” | awk -F ':' '{print $1":"$2"::"$4}'

输出:2001:db80::a00
s5unty
   5
s5unty  
   2021 年 8 月 5 日
```
% echo "2001:db80::a00:27ff:fe67:cd9c" | cut -d':' -f-4
2001:db80::a00
% echo "2001:db80::a00:27ff:fe67:cd9c" | cut -d':' -f4-
a00:27ff:fe67:cd9c
```
826540272
   6
826540272  
OP
   2021 年 8 月 5 日
已经解决了,用 cut -d: -f1-4
很简单
826540272
   7
826540272  
OP
   2021 年 8 月 5 日
@s5unty 对,我用的就是这个
Distributions
› Ubuntu
› Fedora
› CentOS
中文资源站
› 网易开源镜像站
© 2026 V2EX · 34ms · 3.9.8.5