我有一个包含具有唯一参数的 URL 的文件,其中一些 URL 具有多个参数。我正在尝试替换所有字符后到=
别的东西。
示例网址file-containing-urls.txt
:
https://somewebsite.com/some/path/?parameter=value&another=somethingelse
命令示例sed
:
sed -r '/^\=/!s/=.*$/=somevalue/g' file-containing-urls.txt
虽然这有效,但它只是替换第一个参数,而不是其他参数。我想全部an 后面的字符=
为特定字符串。这是我的结果:
https://somewebsite.com/somepath/?param=mystring --> Works
https://somewebsite.com/new/path/?param1=mystring¶m2=removed --> Only works for param1
第二个例子,我希望我的字符串也转移到param2
,但看起来sed
只是替换第一个值并忽略其余值。所有其他参数都将从视图中删除。我以为 a/g
可以解决这个问题,但我总是得到相同的结果。谢谢你!
答案1
$ sed 's/=[^=&]*/=somevalue/g' file
https://somewebsite.com/some/path/?parameter=somevalue&another=somevalue