GNU/Linux >> Linux の 問題 >  >> Linux

Linuxでファイルの先頭にテキストを追加する方法

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
バッシュですが注意してください または、他の多くのシェルには変数のサイズに制限がありませんが、サイズは環境とシステム構成に基づいて制限される場合があります。したがって、「 samplefile.txt ’は膨大な量のデータを含むファイルであり、変数はそのすべてを格納できません。

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つのシンプルでキャッチーな方法を学びました。もちろん、これを手動で行う場合、これを行うための明白な方法は、ファイルエディタでファイルを変更することです。ただし、スクリプトでは、ここで説明する方法を使用できます。

読んでいただきありがとうございます。下のコメントであなたの考えを教えてください!


Linux
  1. Linux でヘッダーとトレーラー行をファイルに追加する方法

  2. bashのフォルダ内の各ファイルの先頭に文字列を追加するにはどうすればよいですか?

  3. Linux で .so ファイルを java.library.path に追加する方法

  1. Linuxでファイルの終わりにテキストを追加する方法

  2. LinuxでTarコマンドを使用する方法

  3. Linuxでファイルの物理サイズを取得するには?

  1. Linuxでテキストファイルに行番号を追加する方法

  2. Linuxでファイルの終わりにテキストを簡単に追加する方法

  3. ファイルの最後に改行を追加するにはどうすればよいですか?