考虑文件中的字符串/ URL列表,如下所示
$ cat urls.txt
https://example.com/index.php?param1=value1¶m2=value2¶m3=value3
https://example2.com/home.php?param1=value1¶m2=value2
我需要删除参数值,如下所示
$ cat replaced.txt
https://example.com/index.php?param1=¶m2=¶m3=
https://example2.com/home.php?param1=¶m2=
我怎样才能做到这一点?我使用sed尝试了几种变体,最终将=和&之间的所有内容替换如下
$ sed -r 's/(=)(.*)(&)/\1\3/g' urls.txt
https://example.com/index.php?param1=¶m3=value3
https://example2.com/home.php?param1=¶m2=value2
谢谢
尝试
sed -r 's/(=)([^=]*)(&)/\1\3/g;s/(=)([^=]*)$/\1/'
在哪里
s/(=)([^=]*)(&)/\1\3/g
在“首字母”param=value
模式上执行替换,但继续执行=
(以避免贪婪匹配)s/(=)([^=]*)$/\1/
替代最后一个模式本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句