2010-04-02 138 views
0

我无法使用sed。 我需要替换由许多文件组成的非常不赞成的HTML网站中的一些行。 我的脚本不起作用,我不知道为什么。当我试图找到确切的模式与Netbeas它的工作。sed替换不起作用

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' {} \; 

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

+0

您的'sed'命令适用于我。你的字符串可能跨越多行吗?如果是这样,那么'sed'命令将会更加复杂。 – 2010-04-02 13:13:15

回答

0

是有一个叫一个简单的命令行工具替换,语法是这样:

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

谢谢。下一次我在问一个问题之前搜索知识库。 – 2010-04-02 10:16:37

+0

请注意,它是mysql客户端的一部分,而不是coreutils或单独的软件包。 – wRAR 2010-04-02 10:50:22

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' "{}" +;