【发布时间】:2017-06-16 22:56:59
【问题描述】:
我有一个包含多行的文件,其中包含 IP 地址和之后的变量.....
例子
server 127.0.0.1:80 VARTOREPLACE
server 127.1.0.1:80 VARTOREPLACE
server 127.2.0.1:80 VARTOREPLACE
我该如何扫描文件并匹配一个 ip 模式,然后将该行中匹配的 var 设置为特定的字符串.....示例
- 如果 ip 匹配
127.*.*.*将VARTOREPLACE替换为NEWVAR1 - 如果 ip 匹配
127.1.*.*将VARTOREPLACE替换为NEWVAR2 - 如果 ip 匹配
127.2.*.*将VARTOREPLACE替换为NEWVAR3
我试过了
sed -i '/:127.0 /s/VARTOREPLACE/NEWVAR1/' file
任何帮助将不胜感激。
【问题讨论】:
-
sed -i '/:127.0 /s/VARTOREPLACE/NEWVAR1/' 文件
-
@EricCox 试试
sed '/127.0/s/VARTOREPLACE/NEWVAR1/; /127.1/s/VARTOREPLACE/NEWVAR2/; /127.2/s/VARTOREPLACE/NEWVAR3/' file -
127.1.*.*是127.*.*.*的一个子集——我假设您想要更具体的替换(如果适用)?
标签: string bash awk replace sed