私はそれの中に以下のファイルを持っています。sed - 特定のシンボルの後の文字列に引用符を追加します
size=large
color=red
red
を引用符で囲みたいが、全体としては引用符を付けない。
にはどうすればcolor
の値にのみの点で=
記号の後にあるものは何でも周りの単一引用符を入れてsedを使用していますが、ことができますか?
私のシナリオでは、実際の色の値は毎回異なる可能性があるため、これは動的である必要があります。
私はそれの中に以下のファイルを持っています。sed - 特定のシンボルの後の文字列に引用符を追加します
size=large
color=red
red
を引用符で囲みたいが、全体としては引用符を付けない。
にはどうすればcolor
の値にのみの点で=
記号の後にあるものは何でも周りの単一引用符を入れてsedを使用していますが、ことができますか?
私のシナリオでは、実際の色の値は毎回異なる可能性があるため、これは動的である必要があります。
代替color=
、このようなコマンドを使用してみてください。 何部分の周りに引用符を追加します。
sed -E "s/(color=)(.*)/\1'\2'/"
私はので、私は両方のキャプチャグループの周りに括弧をエスケープする必要はありません-E
で拡張正規表現を可能にしました。
は何が続く
sed "s/=(.*)$/='\1'/"
* basic * regexを使用する場合は、括弧をエスケープする必要があります。 'sed 's/= \(。* \)$/=' \ 1 '/") ' –
これは、" color "で始まる行だけでなく、すべての行に対しても置換を実行します。 –
私は、グループを逆参照するために '$ 1'と' $ 2'の代わりに '\ 1'と' \ 2'を使う必要があると思います。 – Indent
本当にありがとうございます! –
alternate: 'sed '/ color/s/[^ =] * $/\ x27&\ x27 /'' – Sundeep