Bashでファイルに書き込む方法

How Write File Bash



bashスクリプトを使用する際に行う重要なタスクの1つは、ファイルの読み取りと書き込みです。このガイドでは、bashでファイルを読み取る方法とそれらを編集する方法に焦点を当てます。

bashでファイルを読み書きする方法は複数あります。最も簡単な方法は、演算子>と>>を使用することです。







  • >演算子は既存のデータを上書きします
  • >>演算子はデータを追加します

リダイレクト演算子を使用する一般的な形式は次のとおりです。



データ>ファイル名
データ>>ファイル名

例を使用して、ファイルへの書き込み手順を理解しましょう。



リダイレクト演算子を使用してファイルを書き込む方法

上で説明したように、ファイルに書き込むための単純で直接的なアプローチは、リダイレクト演算子を使用することです。たとえば、既存のファイルのテキストを変更する場合は、最初に次の名前のテキストファイルを作成します。 testfile.txt それに何かを書いてください:





テキストファイルを保存します。



ターミナルで以下のコマンドを入力します。

$ echoファイル内の既存のテキストを上書きする> testfile.txt

絞りすぎると危険な場合があります。したがって、noclobberを有効にすることをお勧めします。 noclobberを設定すると、既存のファイルへの上書きがブロックされます。

$ set –o noclobber
$ echoファイル内の既存のテキストを上書きする> testfile.txt

ただし、noclobberをバイパスする場合は、 > | の代わりに演算子 >>

$ echoファイル内の既存のテキストを上書きする> | testfile.txt

または、単にnoclobberを無効にすることもできます。

$ set +またはnoclobber

ただし、このコマンドはすべてのファイルから保護を取り除きます。

上記の出力は、既存のテキストが上書きされたことを示しています。それでは、 >> オペレーター:

$ echo既存のテキストファイルにテキストを追加する>> testfile.txt

捨てた これを使用してテキストをフォーマットすることはできないため、常に理想的な使用とは限りません。したがって、次のコマンドに示すように、echoの代わりにprintfを使用してテキストをフォーマットします。

$ printfようこそ nこれは新しいテキストファイルです。 > newtestfile.txt

bashスクリプトの例で概念を理解しましょう。ターミナルでvimと入力してVimを開きます。デバイスにVimエディターがない場合は、次を使用してインストールします。

$ sudo apt install vim

スクリプトを入力します。

#! / bin / bash
エコーあなたの名前を入力してください
名前を読む
echo $ name> data_dir.txt
エコーあなたの年齢を入力してください
年齢を読む
エコー$ age >> data_dir.txt
cat data_dir.txt

NS コマンドは、ファイルを作成および編集するために使用されます。を押した後にモードを切り替えて、上記のスクリプトをVimに保存します NS キーを押してから入力します :myscript.sh内 。ターミナルを開き、コードを実行します。

ヒアドキュメントを使用してファイルを書き込む方法

複数行を記述したい場合、最も簡単な方法はヒアドキュメントを使用することです。ヒアドキュメントとも呼ばれるヒアドキュメントは、多目的コードブロックです。ヒアドキュメントの構文は次のとおりです。

指示<<[-] Delimiter

テキスト/コマンド

デリミタ

区切り文字の代わりに任意の文字列を使用できます。また、-を使用してファイル内のタブスペースを削除することもできます。簡単な例を使用して理解しましょう。

#! / bin / bash

猫<< TEXTFILE
これはテキストファイルです。
このファイルはヒアドキュメントを使用して作成されます。
テキストファイル

上記のscriptcatコマンドは、TEXTFILEという名前のテキストファイルを作成し、作成したファイルにテキストを書き込みます。次に、ファイルを次の名前で保存します。 myscript.sh 。ターミナルを起動し、スクリプトを実行します。

Teeコマンドを使用してファイルを書き込む方法

ファイルを書き込む別の方法は、Teeコマンドを使用することです。このコマンドが入力を受け取り、ファイルに書き込み、同時に出力を表示することを示す名前として。デフォルトでは、Teeコマンドは既存のデータを上書きします。

$ echoこれはいくつかのテキストです| tee textfile.txt

使用法を追加するには–a:

$ echoこれは別のテキストです| tee –textfile.txt

複数行を書き込むには、次を使用します。

$ echo複数のファイルにテキストを追加する| tee textfile1.txt textfile2.txt textfile3.txt

上記のコマンドは、ファイルが存在しない場合は3つのファイルを作成し、それぞれにテキストを書き込みます。

結論

このガイドでは、例を挙げてbashでファイルに書き込むための複数のアプローチに焦点を当てています。 bashスクリプトでは、ファイルを書き込む方法は複数ありますが、最も簡単な方法は、リダイレクト演算子>、>>を使用することです。複数行を書き込むには、ヒアドキュメントを使用できます。同じデータを複数行に書き込みたい場合は、teeコマンドが非常に便利です。