sed -i "1i \t 'word'" ファイルにタブがないのはなぜですか?

sed -i

擬似コード

printf "Masi \nwas \nhere" > /tmp/2
sed -i "1i \tword \t 'include word'" /tmp/2

期待される出力:firstの前にタブ文字がありますword。出力: tword 'include word'。変数を使用して、あまりにも少ないティック問題を解決してください。

printf "masi \nwas \nhere" > /tmp/2
sentence="\tword \t 'include word'"
sed -i "1i $sentence" /tmp/2

出力:同じ問題ですtword 'include word'

ベストアンサー1

正規表現として解釈することはsed可能かもしれませんが、スクリプトのどれもこの方法では使用しません。代わりにリテラル文字列\tとして使用されます。\t

次のようにしたいことができます。

printf "Masi \nwas \nhere" > /tmp/2
sed -i "1i XwordXinclude word'" /tmp/2
sed -i '1,1s/X/\t/g' /tmp/2

おすすめ記事