一直试图让这个工作一段时间,并没有真正完全得到它。 基本上,我有一个IP地址的文件,每天更改或更少。该文件只包含一个IP地址,这是我试图用我疯狂的grepping来取代我的当前内部IP地址。使用sed来搜索并替换文件中的ip地址
我有这个
#!/bin/sh
newip=$(ifconfig | grep 0xfff | grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' | grep -v 255)
echo $newip
sed 's/*\.*\.*\.*/"$newip"/g' log.txt > logmod.txt
,但它不匹配和更换。 我对sed并不熟悉,我也是一个初学者,也有正则表达式。
任何帮助将会很棒! 谢谢:)
被告知,“\ b “(字边界)构造不是标准的。 – 2011-03-11 19:28:47
@Steve:的确如此。我用** GNU sed version 4.2.1 **测试了这个表达式。由于OP添加了'bash'标签,我认为他可能也有一些版本的** GNU sed **。另请注意,我特别提到'-r'选项。 – 2011-03-11 19:33:43
你,我的朋友,救了我很多小时的压力!我的sed版本并不幸运地支持-r,所以我使用了自制软件(我使用的是Mac)并安装了完美运行的最新版本! – twistedpixel 2011-03-11 19:37:57