2010-04-02 150 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' "{}" +;