sedが右側の「\ 1」を変更するとはどういう意味ですか? [コピー]

sedが右側の「\ 1」を変更するとはどういう意味ですか? [コピー]

ここに提出された Kusalananda の回答にコメントを追加できないため、この質問を投稿しました。"key = value" 行: 特定のキーの値を変更する方法は?

彼は次の解決策を提案した。

sed -E 's/^(power[[:blank:]]*=[[:blank:]]*).*/\1something/' TheFile

Q1:「\ 1」とはどういう意味ですか?

Q2:引用符を含むキーと値のペアを処理するときにどのように修正しますか?例えば

MTU="1500"

- - 編集する - -

Q3: RalfFriedl の提案を試みたところ、値ではなく変数名が挿入されたことがわかりました。

sed -E 's/^(MTU[[:blank:]]*=[[:blank:]]*).*/\1$NewMtu/' MyEthFile

答え1

\1この場合、最初の角かっこの値を挿入することを意味します。(power[[:blank:]]*=[[:blank:]]*)

2番目の質問の場合は、パターンを使用してMTU="(.*)"それをに\1置き換えてください1500

関連情報