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

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

この記事では、ヘッダー レコードまたはトレーラー レコードをファイルに追加するさまざまな方法について説明します。

ファイル file1 を考えてみましょう。

$ cat file1
apple
orange
grapes
banana

ファイルの先頭 (ヘッダー) に行を追加する

1. sed を使用してヘッダー レコードを追加するには:

$ sed '1i some text at the beginning' file1
some text at the beginning
apple
orange
grapes
banana

sed の「1i」には、ファイルの最初の行 (1) の前にのみ、先頭にテキストが含まれる行が含まれます。上記のコマンドは、ファイルを更新せずに、ヘッダーとともにファイルの内容を表示します。元のファイル自体を更新するには、以下に示すように sed の -i オプションを使用します:

$ sed -i.bkp '1i some text at the beginning' file1

-i.bkp オプションは、元のファイルに変更を加える前に、file1.bkp という名前のバックアップ ファイルを作成します。拡張子 .bkp は自由に選択できます。

2. この sed の例を使用してヘッダー行を挿入することもできます:

$ sed '1s/^/some text at the beginning\n/' file1

「1」は、「s」コマンドで置換を行うときにのみ一致する行番号を示します。 「^」記号は行頭を示します。最後に追加されたキャリッジ リターン ‘\n’ にも注意してください。これは、置換後に新しい行を印刷するのに役立ちます.

3. cat コマンドを bash printf ステートメントと共に使用して、ファイルの先頭に行を追加することもできます。

$ printf '%b' 'some text at the beginning\n' | cat - file1

4. awk を使用してヘッダー レコードをファイルに追加するには:

$ awk 'BEGIN{print "some text at the beginning"}1' file1
some text at the beginning
apple
orange
grapes
banana

BEGIN awk のステートメントは、ファイルを処理する前に出力されるテキストを最初に作成するため、出力にヘッダーが表示されます。 1 は、ファイルのすべての行を印刷することを示します。

ファイルの最後に行を追加する (トレーラー)

1. ここでのコマンドの中で最も簡単なのは、リダイレクトを使用してファイルの最後に行を追加することです。例:

$ echo "some text at the end" >> file1

2. sed を使用してトレーラー レコードをファイルに追加するには:

$ sed '$a some text at the end' file1
apple
orange
grapes
banana
some text at the end

$a ファイルの最後の行 ($) の後にのみ、末尾にテキストを追加 (a) する sed を作成します。

3. awk を使用してトレーラー レコードをファイルに追加するには:

$ awk '1;END{print "some text at the end"}' file
apple
orange
grapes
banana
some text at the end

終わり label は、ファイルが処理された後にのみ印刷する print ステートメントを作成します。 1はすべての行を印刷することです。 1 は実際には true を意味します。

MAC OSX 上の sed

sed は、GNU sed と比較して、MAC OS での動作がほとんど異なります。 MAC でファイルにヘッダー行を追加するには、以下の sed の例を試すことができます。

$ sed -i '.bak' '1s/^/some text at the beginning\'$'\n/g' file1


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

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

  3. Linuxで出力をファイルとStdoutにリダイレクトする方法

  1. Linuxでコマンドラインからファイルとディレクトリを削除する方法

  2. Linuxで.gzファイルと.tar.gzファイルを抽出する方法

  3. Windows と Unix/Linux 形式の間でテキスト ファイルの改行を変換する方法は?

  1. Linuxでコマンドラインからファイルを分割して結合する方法

  2. NFSとは何ですか?Linuxにインストールする方法

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