2010-08-05 57 views
0

我哪裏有某些網址越來越有等號畸形的情況下,我需要能夠將其刪除。在一條線上替換一個字符之前另一特定字符

一個例子破網址:

 
http://www.go=ogle.com/search?ie=UTF 

要糾正這個:

 
http://www.google.com/search?ie=UTF 

它不能簡單地取代的=第一次出現,因爲不是所有的URL被打破這樣。

是否有SED/AWK或刪除,只有當他們一個問號之前發生的=所有實例的其他正則表達式的方法?

回答

0

使用

sed -e 's~\(http://[^?]*\)=\([^?]*\)~\1\2~' 

基本上說剝離從任何起始 http://內的一個字符=然後具有任何東西,但 ?

編輯了一遍看,這是很多清潔:

sed -e 's~\(http://[^/?]*\)=~\1~' 
+0

完美工作,感謝 – neurophobic 2010-08-06 00:25:49

+0

我將描述不同,但是這幾乎是我會用什麼。不知道你可以使用〜的地方。我會說你'替換任何以http://開始的字符串,以=結尾,並且沒有?的原始字符串,不包括=。' – Slartibartfast 2010-08-06 01:56:40

+0

@slartibartfast:我更新了(幾乎)與你的描述相匹配的答案;-) – mvds 2010-08-06 03:05:05

相關問題