- 论坛徽章:
- 93
|
- # 二楼的结果正确,不过 awk 不能改原文件
- [seesea@UC ~]$ awk '/\[tag2\]/{tag=2}/ip/&&tag==2{print "ip=0.0.0.0";next}1' file.txt
- [tag1]
- version=1910
- ip=1.1.1.1
- port=9890
- [tag2]
- version=2111
- ip=0.0.0.0
- port=9087
- # 三楼的正确
- [seesea@UC ~]$ sed '/\[tag2\]/,/^$/{/^ip=/s/.*/ip=0.0.0.0/}' file.txt
- [tag1]
- version=1910
- ip=1.1.1.1
- port=9890
- [tag2]
- version=2111
- ip=0.0.0.0
- port=9087
- # 四楼的,少了后面的内容了
- [seesea@UC ~]$ sed '/[tag2]/{N;N;s/ip=.*/ip=0.0.0.0/}' file.txt
- [tag1]
- version=1910
- ip=0.0.0.0
- port=9890
- [tag2]
- version=2111
- ip=0.0.0.0
复制代码 |
|