固有のパラメータを含む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
これが機能している間は、最初の引数だけを置き換え、他の引数は置き換えません。私の考えではみんな次の文字は=
特定の文字列です。私の結果は次のとおりです。
https://somewebsite.com/somepath/?param=mystring --> Works
https://somewebsite.com/new/path/?param1=mystring¶m2=removed --> Only works for param1
2番目の例では、私の文字列もに送信されますが、最初の値だけを置き換え、残りは無視するようですparam2
。sed
他のすべてのパラメータはビューから削除されます。私はこの問題を解決すると思いましたが、/g
常に同じ結果を得ました。ありがとうございます!
答え1
$ sed 's/=[^=&]*/=somevalue/g' file
https://somewebsite.com/some/path/?parameter=somevalue&another=somevalue