もっと詳しく

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

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」には、(i)ファイルの最初の行(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 beginningn/' file1

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

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

$ printf '%b' 'some text at the beginningn' | cat - file1

4. awkを使用してヘッダーレコードをファイルに追加するには、次の手順に従います。

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

始める 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 sedに、ファイルの最後の行($)の後にのみステートメントを追加(a)するテキストを作成します。

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は実際には真を意味します。

MACOSXでsed

sedは、GNU sedと比較して、MACOSでの動作が少し異なります。 以下のsedの例を試して、MACのファイルにヘッダー行を追加してください。

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

The post Linuxでファイルにヘッダーとトレーラー行を追加する方法–オタク日記 appeared first on Gamingsym Japan.