アンドロイド

Bash:ファイルに追加

MINIONS Kinder Surprise Avengers Egg Surprise Pixar CARS 2 Francesco Spiderman Marvel Eggs Sorpresa

MINIONS Kinder Surprise Avengers Egg Surprise Pixar CARS 2 Francesco Spiderman Marvel Eggs Sorpresa

目次:

Anonim

Bashには、ファイルにテキストを追加する方法が複数あります。 この記事ではそれらのいくつかについて説明します。

ファイルにテキストを追加するには、そのファイルへの書き込み権限が必要です。 それ以外の場合、許可拒否エラーが表示されます。

リダイレクト演算子( >> )を使用してファイルに追加する

リダイレクトを使用すると、コマンドからの出力をキャプチャし、別のコマンドまたはファイルへの入力として送信できます。 >> リダイレクト演算子は、指定されたファイルに出力を追加します。

テキストを標準出力に出力してファイルにリダイレクトするために使用できるコマンドがいくつかありますが、 echo printf が最もよく使用されます。

テキストをファイルに追加するには、リダイレクト演算子の後にファイルの名前を指定します。

echo "this is a new line" >> file.txt

-e オプションとともに使用すると、 echo コマンドは改行 などのバックスラッシュでエスケープされた文字を解釈します。

echo -e "this is a new line \nthis is another new line" >> file.txt

より複雑な出力を生成する場合は、 printf コマンドを使用して、出力のフォーマットを指定できます。

printf "Hello, I'm %s.\n" $USER >> file.txt

ファイルにテキストを追加する別の方法は、ヒアドキュメント(Heredoc)を使用することです。 これは、複数行の入力をコマンドに渡すことができるリダイレクトの一種です。

たとえば、コンテンツを cat コマンドに渡し、ファイルに追加できます。

cat«EOF»file.txt現在の作業ディレクトリは次のとおりです。$ PWDあなたは次のようにログインしています:$(whoami)EOF

任意のコマンドの出力をファイルに追加できます。 date コマンドの例を次に示し date

date +"Year: %Y, Month: %m, Day: %d" >> file.txt

リダイレクトを使用してファイルに追加する場合、重要な既存のファイルを上書きするために > 演算子を使用しないように注意してください。

tee コマンドを使用してファイルに追加する

tee は、標準入力から読み取り、標準出力と1つ以上のファイルの両方に同時に書き込むLinuxのコマンドラインユーティリティです。

デフォルトでは、 tee コマンドは指定されたファイルを上書きします。 出力をファイルに追加するには、 -a -a --append )オプションを -a して tee を使用します。

echo "this is a new line" | tee -a file.txt

echo "this is a new line" | tee -a file.txt >/dev/null

>> 演算子に対して tee コマンドを使用する利点は、 tee 使用すると、複数のファイルにテキストを一度に追加し、 sudo とともに他のユーザーが所有するファイルに書き込むことができることです。

書き込み権限のないファイルにテキストを追加するには、以下に示すように tee 前に sudo を追加します。

echo "this is a new line" | sudo tee -a file.txt

tee は、 echo コマンドの出力を受け取り、sudoパーミッションを上げて、ファイルに書き込みます。

テキストを複数のファイルに追加するには、ファイルを tee コマンドの引数として指定します。

echo "this is a new line" | tee -a file1.txt file2.txt file3.txt

結論

Linuxでは、テキストをファイルに追加するには、 >> リダイレクト演算子または tee コマンドを使用します。

バッシュターミナル