我有一个实例,其中某些网址格式错误且标记相同,我需要能够将其删除。
网址损坏示例:
http://www.go=ogle.com/search?ie=UTF
要更正:
http://www.google.com/search?ie=UTF
它不能简单地替换第一次出现的=
,因为并非所有网址都像这样被破坏。
是否有sed / awk或其他正则表达式方法只有在问号出现之前删除=
的所有实例?
答案 0 :(得分:0)
<击>使用击>
<击>sed -e 's~\(http://[^?]*\)=\([^?]*\)~\1\2~'
基本上是从 http://
开始除了?
以外的任何东西中剥离一个=字符。
编辑再次查看它,这更加清晰:
sed -e 's~\(http://[^/?]*\)=~\1~'