sedを使用して文字列を指定されていない最後の文字に置き換えますか?

sedを使用して文字列を指定されていない最後の文字に置き換えますか?

sed(または他の方法)を使用してファイルの文字列を置き換えたいです。
この文字列の形式は "prv = x"です。ここで x は整数です。 xを指定せずに置換する文字列全体を指定する方法はsedにありますか?

ベストアンサー1

はい。各行で最初に表示される文字列のみを置き換えます。

sed -i 's/prv=[0-9][0-9]*/replacement_string/' inputfile

または:

sed -i 's/prv=[0-9]\{1,\}*/replacement_string/' inputfile 

各行に複数回表示される文字列を置き換えるには、次のようにします。

sed -i 's/prv=[0-9][0-9]*/replacement_string/g' inputfile

または:

sed -i 's/prv=[0-9]\{1,\}*/replacement_string/g' inputfile

ERE構文(バージョンでサポートされている場合sed)を使用して、各行に最初に表示される文字列のみを置き換えます。

sed -Ei 's/prv=[0-9]+/replacement_string/' inputfile

または:

sed -Ei 's/prv=[0-9]{1,}/replacement_string/' inputfile

各行に複数回表示される文字列を置き換えるには、次のようにします。

sed -Ei 's/prv=[0-9]+/replacement_string/g' inputfile

または:

sed -Ei 's/prv=[0-9]{1,}/replacement_string/g' inputfile

おすすめ記事