2017-10-25 4 views
-1

私はそれの中に以下のファイルを持っています。sed - 特定のシンボルの後の文字列に引用符を追加します

size=large  
color=red 

redを引用符で囲みたいが、全体としては引用符を付けない。

にはどうすればcolorの値にのみの点で=記号の後にあるものは何でも周りの単一引用符を入れてsedを使用していますが、ことができますか?

私のシナリオでは、実際の色の値は毎回異なる可能性があるため、これは動的である必要があります。

答えて

1

代替color=、このようなコマンドを使用してみてください。 部分の周りに引用符を追加します。

sed -E "s/(color=)(.*)/\1'\2'/" 

私はので、私は両方のキャプチャグループの周りに括弧をエスケープする必要はありません-Eで拡張正規表現を可能にしました。

+1

私は、グループを逆参照するために '$ 1'と' $ 2'の代わりに '\ 1'と' \ 2'を使う必要があると思います。 – Indent

+0

本当にありがとうございます! –

+0

alternate: 'sed '/ color/s/[^ =] * $/\ x27&\ x27 /'' – Sundeep

-2

は何が続く

sed "s/=(.*)$/='\1'/" 
+0

* basic * regexを使用する場合は、括弧をエスケープする必要があります。 'sed 's/= \(。* \)$/=' \ 1 '/") ' –

+0

これは、" color "で始まる行だけでなく、すべての行に対しても置換を実行します。 –

関連する問題