sed式(およびArchLinuxのGNU sed 4.2.2)が提供されます。
/match/i\tline1\n\tline2
一致の上にタブにインデントされた2行を挿入する必要があります。最初の文字(例では\t
)のエスケープは無視されますが、他のエスケープ文字はすべて正しく処理されることがわかりました。
次のようにテストしてください。
echo match | sed -e '/match/i\tline1\n\tline2'
明らかにする
tline1
line2
match
初期エスケープ文字(タブや改行など)に関係なく、結果は同じです。最初の文字が正しく処理されるように式を構成する正しい方法は何ですか?
ベストアンサー1
Gnu sedのマニュアルを確認してください(http://www.gnu.org/software/sed/manual/html_node/Other-Commands.html#Other-Commands) -i
コマンドは実際にはi\
コマンドなので、追加のバックスラッシュだけが必要です。
echo match | sed -e '/match/i\\tline1\n\tline2'
# ---------------------------^