Linuxコマンドラインユーザーは、ファイルに出力を書き込んだり、ファイルから入力を読み取ったりできるリダイレクト演算子の概念に精通しています。
演算子'>'
出力を新しいファイルまたは既存のファイルに書き込みます。その場合、それは以前にファイルに存在していたすべてのものを一掃します。演算子'>>'
一方、既存のファイルの最後に出力を追加します。ただし、ファイルの先頭に新しいテキストを書き込むための専用のオペレーターはありません。
今日は、Linuxでファイルの先頭にテキストを追加する2つの方法を紹介します。1つは回避策を使用する方法、もう1つはコマンドを使用する方法です。
注 :最初に元のファイルをバックアップしてから、新しいテキストを元のファイルに追加することをお勧めします。このようにして、コマンドの使用中にエラーが発生した場合でも、いつでもバックアップファイルを復元できます。例えば。 「file1」というファイルをコピーするだけです。 」を「file1_bkp」という別のファイルに 」をクリックしてから、テキストを元のテキストに追加します。つまり、「 file1 ’。echoおよびcatコマンドを使用してファイルの先頭にテキストを追加する
ご存知かもしれませんが、echoコマンドは、引数として渡されたものをすべて出力に出力しますが、catコマンドは ファイルの内容を出力に出力します。
したがって、追加する新しいテキストをエコーに渡すことができます。 、ファイルを猫に渡し、結合して出力をファイルに書き込みます。これは次のように実行できます:
$ x=`echo "New Text"; cat filename` $ echo "$x" > filename
基本的には、ファイルの新しいテキストと既存のコンテンツを組み合わせて、新しいコンテンツを変数に格納します。次に、変数を出力して同じファイルにリダイレクトするだけです。
$ cat samplefile.txt $ x=`echo "Name: John"; cat samplefile.txt` $ cat samplefile.txt

上記のように、ファイルの先頭の新しい行に新しいテキストが追加されました。既存の最初の行の先頭にテキストを追加するには、-n
を使用します エコーの議論。
$ x=`echo -n "New Text"; cat filename` $ echo "$x" > filename

sedコマンドを使用してファイルの最初の行にテキストを追加する
sed (「ストリームエディタ」の略 ‘)はLinuxのコマンドラインエディタであり、ファイルへのテキストの書き込み、検索と置換などの操作を実行するために使用されます。
sed は、さまざまな方法でファイルを編集するための多くのオプションを備えた複雑なコマンドです。 sedの特定の機能を使用して、ファイルの先頭にテキストを追加します。
次のコマンドを実行して、先頭の新しい行にテキストを挿入します。
$ sed -i '1i New Text' filename
-i
引数はsed ファイル自体を変更します。それがなければ、 sed ファイルのコピーを自動的に作成し、そのコピーに対してすべての変更を実行します。
文字列「1i新しいテキスト」 意味:「挿入」 文字列「新しいテキスト」 「1日」 行。
$ cat samplefile.txt $ sed -i '1i Introduction' samplefile.txt $ $ cat samplefile.txt

繰り返しますが、これは最初に新しい行に新しいコンテンツを追加しています。既存の行に新しいテキストを追加するには、次のコマンドを実行します:
$ sed -i '1s/^/New Text/' filename
基本的に、指数記号(‘^’)
null文字列を示します。 '1'
冒頭はsedを意味します 1行目の先頭にあるnull文字列と's'
を考慮する必要があります sed コマンド、文字列を置き換えます。ここで、null文字列は「新しいテキスト」に置き換えられます ‘。
$ cat samplefile.txt $ sed -i '1s/^/Person/' samplefile.txt $ cat samplefile.txt

結論
Linuxでファイルの先頭に新しいテキストを追加する2つのシンプルでキャッチーな方法を学びました。もちろん、これを手動で行う場合、これを行うための明白な方法は、ファイルエディタでファイルを変更することです。ただし、スクリプトでは、ここで説明する方法を使用できます。
読んでいただきありがとうございます。下のコメントであなたの考えを教えてください!