特定の文字列で始まるテキスト ファイル内の行全体を sed を使用して置換する bash スクリプトを作成しようとしていますが、最初の一致に対してのみこの置換を実行したいと考えています。
たとえば、私のテキスト ファイルには次のようなものがあります。
hair=brown
age=25
eyes=blue
age=35
weight=177
そして、age の 2 番目のインスタンスに影響を与えずに、「age」で始まる最初の行を別の数字に単純に置き換えたい場合があります。
hair=brown
age=55
eyes=blue
age=35
weight=177
これまでのところ、私は思いついた
sed -i "0,/^PATTERN/s/^PATTERN/PATTERN=XY/" test.txt
ただし、これは行全体ではなく、文字列「age」自体のみを置き換えます。行全体を変更するためにどこかに「\ c」をスローしようとしましたが、これまでのところ何も機能していません。これをどのように解決できるかについて、誰にもアイデアがありますか? ありがとう。