![sedが右側の「\ 1」を変更するとはどういう意味ですか? [コピー]](https://linux33.com/image/10879/sed%E3%81%8C%E5%8F%B3%E5%81%B4%E3%81%AE%E3%80%8C%5C%201%E3%80%8D%E3%82%92%E5%A4%89%E6%9B%B4%E3%81%99%E3%82%8B%E3%81%A8%E3%81%AF%E3%81%A9%E3%81%86%E3%81%84%E3%81%86%E6%84%8F%E5%91%B3%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
ここに提出された 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
。