2014-02-19 65 views
1

我有一個網頁,我試圖用sed進行編輯。 我需要找到所有的href="/foa鏈接,並讓他們說 href="www.url/foa來代替。如何使用sed轉義一個雙引號

我一直很難得到它的工作。 對於正常的語法,我會使用sed -i 's/string/string2/g' <filename>。 隨着正斜槓,我逃脫那些\/哪些作品。 但我似乎無法弄清楚如何獲得單引號到搜索和替換流。

我需要它的原因是爲了唯一確定我想要替換的部件。 /foa存在於很多部分中,我需要改變的只有一個是href="/foa

回答

2

建議不要將sed用於HTML操作,但可以使用;

sed -i 's~href="/foa~href="www.url/foa~g' file.html 
+0

這將是可取的? – j0h

+0

有許多語言可用的DOM解析器,如PHP,Python,Java等。 – anubhava

+0

是的,我正在考慮在php中這樣做。但我的shell腳本已經接近完成了。感謝您的解決方案! – j0h

1

使用SED,這將是靈活的,而不是foa僅修復,href="之後的任何鏈接將增加

sed -r 's/(href=")([^"]*)/\1www.url\2/' file