sedを使用してbashスクリプトを介していくつかの行を追加したいと思います。スクリプトは機能しますが、出力が正しくありません。
LINEB="word"
sed '/g id=\"..\"/a style=\"fill:$LINEB;\"' file.txt > foo.txt
私は<g id="ai" style="fill:$LINEB;">
代わりに受け取った<g id="ai" style="fill:word;">
いろいろな括弧を使っても。
ベストアンサー1
一重引用符内に変数を含めることはできません。あなたはできます:
sedスクリプト全体の周りに二重引用符を使用し、その中の二重引用符をバックスラッシュでエスケープします。
一重引用符で囲まれた文字列を二重引用符で囲まれた変数で終わり、一重引用符で囲まれた
'
文字列を再起動します。
LINEB="word"
sed '/g id=\"..\"/a style=\"fill:'"$LINEB"';\"' file.txt > foo.txt