关于linux的sed用法。如何替换特殊字符,如IP=192.168.0.1替换成IP=117.112.3.8
3个回答
展开全部
sed 's/\(IP=\).*/\1117.112.3.8/g'
. 任意字符
* 任意次数
\1 输出第一保存
\(\) 第一保存范围
. 任意字符
* 任意次数
\1 输出第一保存
\(\) 第一保存范围
更多追问追答
追问
谢谢,117的前面应该有个空格吧?^_^
追答
不需要空格哈,你多加个空格,输出也会多出来个空格。
其实最好应该是 sed 's/\(IP=\)[0-9.]*/\1117.112.3.8/g' 最好用正则来取IP。
意思是把“IP=”后面开始,到匹配第一个非[数字]或者[.]的字符串,替换成你的新IP。
展开全部
sed 's/117.112.3.8/192.168.0.1/g' filename
更多追问追答
追问
问题都没看清楚……前后写颠倒了……
而且原IP的值不是确定的,不一定是192.168.0.1,我想模糊匹配 替换
追答
哦,是颠倒了,你没说清楚要模糊匹配啊?你想怎么匹配?总得有个RE吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询