行の先頭にテキストを追加するには?

行の先頭にテキストを追加するには?

テキストファイルがありますが、最初の行にテキストを追加したいと思います。私は次のことを試しました:

sed -i '1i\'"string" file

ただし、これによりテキストファイルに新しい行が挿入されます。

答え1

これはGNU sedで動作します:

sed -i '1s/^/string/' file

新しい行を追加しないという点で解決策とは異なります。

テスト

コマンドを実行する前に、ファイルの内容は次のようになりました。

some
text
here
already

コマンドを実行した後:

stringsome
text
here
already

答え2

他の方法(類似)私の答え存在するこの問題):

printf 'string' | paste -d'\0' - infile > outfile

または:

printf string | cat - infile > outfile

または:

{ printf string; cat infile; } > outfile

関連情報