linux中想在脚本中实现修改一个ip地址参数的配置文件,用sed命令如何实现?

linux中想在脚本中实现修改一个ip地址参数的配置文件,如果用sed实现?
如IP=192.168.0.55
替换成IP=102.117.2.23
还有其他方法吗?如awk?小弟能力有限,刚刚接触脚本,谢谢了

sed -i 's/\(IP=\)\S\S*/\1102.117.2.23/' filename

注:
1)将不变的部分放入带反斜杠的一对括号 \( \) 中并在替换时用 \1 引用。
2)\S用于匹配除单个空格符之外的所有字符。

awk -F"=" '{if($1=="IP")print("IP=102.117.2.23")}' filename > filename.new 2>/dev/null
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-10
sed ‘s/192\.168\.0\.55/102\.117\.2\.23/g’ s是替换 g是全局的替换 .要转义 满意请采纳,谢谢 不满意请追问,共同探讨追问

首先感谢你的帮助!
但是IP后面的具体ip地址是不确定的,因为是配置文件,所以想匹配到IP后就把后面的具体值替换。如果早知道具体值也不会这么麻烦
直接sed -i 's/192.*/102.117.2.23/' filename 不就可以了吗?
想用模糊匹配,比如IP=*,但是试了不行

追答

弄不好你那IP 还不是以192开头的呢,你可以用正则表达式把ip地址做一个匹配试试看。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网