我需要通过在包含Ip地址的行中添加一些选项来修改ntp配置文件。我已经使用sed命令尝试了很长时间,但无法修改线路,除非我不知道IP地址。比方说,我有几行,服务器172.0.0.1服务器10.0.0.1
我需要在ip地址后添加iburst选项。我试过像…那样发号施令。。sed -e 's/(d{1,3}.d{1.3}.d{1,3}.d{1,3})/ 1 iburst/g' ntp_file
或sed -e 's/^server +d{1,3}.d{1,3}.d{1,3}.d{1,3}/server 1.2.3 iburst/g'
ntp_file但它并没有修改线路。任何形式的建议都会被真正地告知。
您用作POSIX BRE的正则表达式无法匹配预期字符串,原因是sed不支持d
简写类、范围限定符中的点被误用以及分组和范围限定符的转义错误。
您可以使用
sed -E -i 's/[0-9]{1,3}(.[0-9]{1,3}){3}/ & iburst/g' ntp_file
POSIX ERE(使用-E
选项启用(表达式表示匹配
[0-9]{1,3}
-一到三位数字(.[0-9]{1,3}){3}
-三次出现一个点和一到三个数字
替换模式为& iburst
,其中&
代表整个比赛。
g
标志将替换所有出现的内容。