Bash 出力をファイルにリダイレクトする

この小さな記事は、コマンドの出力を標準のコンソールではなくファイルにリダイレクトするための Bash スクリプトのメソッドに関するものです。
このリダイレクトを実現するには、いくつかの方法があります。ここでは、それらのいくつかについて説明します。
Bash でファイルへの出力をリダイレクトするには >
と >>
演算子を使用する
2つのリダイレクト演算子 >
と >>
は、コマンドの出力を stdout
またはコンソールではなく、指定されたファイルにリダイレクトします。
>
演算子を使用して、出力がファイルに挿入され、前のすべてのファイルの内容が置き換えられます。>>
演算子を使用すると、出力がファイルの最後に追加され、前のコンテンツがそのまま保持されます。
このコマンドを使用する前に、ファイルを明示的に作成する必要はないことに注意してください。正しいパスを指定する必要があります。ファイルが存在しない場合、Bash は新しいファイルを作成します。
このコマンドの構文は次のとおりです。
[command] > /path/to/your/file
以下の例を見てみましょう。
上の図から、最初のコマンドを実行した後、画面に出力が表示されなかったことがわかりますが、すべての出力はファイルに配置され、次のコマンドで表示されます。
>>
演算子の動作を見ていきます。
画像を見ると、uname
コマンドの出力がファイルの最後に追加されていることがわかります。
Bash で tee
コマンドを使って出力をファイルにリダイレクトする
tee
コマンドは、出力をファイルにリダイレクトするためにも使用されます。違いは、出力をファイルに送信するだけでなく、画面にも表示することです。
このコマンドを使用する前に、ファイルを明示的に作成する必要はないことに注意してください。正しいパスを指定する必要があります。ファイルが存在しない場合、Bash は新しいファイルを作成します。
このコマンドの構文は次のとおりです。
[command] | tee /path/to/your/file
以下の例を見てみましょう。
このコマンドは、すべてのファイルの内容をこの新しい内容に置き換えます。以前のコンテンツを保持してファイルを追加する場合は、次のような -a
オプションを指定してこのコマンドを使用できます。
したがって、出力をファイルにリダイレクトする方法はたくさんあることがわかります。
ここではそれらのいくつかについて説明しました。他にもいくつかあります。