sed更换不起作用

时间:2010-04-02 10:03:57

标签: bash sed

我在使用sed时遇到了麻烦。 我需要替换包含许多文件的非常弃用的HTML站点中的一些行。 我的脚本不起作用,我不知道为什么。当我试图用Netbeas找到确切的模式时,它起作用了。

find . -type f -name "*.htm?" -exec sed -i -r 's/ing\. Šuhajda Dušan\, Mírová 767\, 518 01 Dobruška\, \+420 737 980 333\,/REPLACEMENT/g' {} \;

错误在哪里? 是否有替代文本而不搜索正则表达式而是纯文本? 谢谢你的回复。

2 个答案:

答案 0 :(得分:0)

是的,有一个名为 replace 的简单命令行工具,语法如下:

replace "string 1" "string 2" -- *.html

答案 1 :(得分:0)

没有必要转义逗号,因为它并不特殊。

find . -type f -iname "*.htm?" -exec sed -i.bak -r 's/ing\. Šuhajda Dušan, Mírová 767, 518 01 Dobruška, \+420 737 980 333,/REPLACEMENT/g' "{}" +;