Macの「ターミナル」の入力および出力をリダイレクトする
コマンドラインで、コマンドからの入力や出力をファイルまたは別のコマンドにリダイレクトできます。
コマンドの実行結果を取得して、あとで使用するためにファイルに保存したい場合は、コマンドからの出力をリダイレクトします。同様に、コマンドに設定済み入力データを提供したい場合は、ファイルからの入力をコマンドにリダイレクトします(そのデータを入力するのではなく)。
入力や出力をリダイレクトするには、以下の文字を使用します:
リダイレクト | 説明 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
> | コマンド出力をファイルにリダイレクトするには、右山かっこを使用します。 | ||||||||||
< | ファイルの内容をコマンドへの入力として使用するには、左山かっこを使用します。 | ||||||||||
>> | コマンドからの出力をファイルに追加するには、2つの右山かっこを使用します。 |
ファイルのリダイレクトだけでなく、縦線(パイプ)を使用して、あるコマンドの出力を別のコマンドの入力にリダイレクトすることもできます。このようにコマンドを組み合わせることで、同じコマンドをより洗練された方法で実行できます。
例えば、次のコマンドでは、zsh
のマニュアルページのフォーマットされた内容がgrep
ツールに渡され、その内容から「commands」という単語を含む行が検索されます。その結果、マニュアルページ全体ではなく、指定されたテキストを含む行のリストが表示されます。
% man zsh | grep commands
以下に、標準的なパイプの例を挙げます:
stdin: この標準入力パイプで、コマンドが入力を受け取ります。デフォルトでは、コマンドラインインターフェイスからの入力を受け取ります。ファイルまたはその他のコマンドからの出力をstdinにリダイレクトできます。
stdout: この標準出力パイプで、コマンドの出力が送信されます。デフォルトでは、コマンド出力がコマンドラインに送信されます。コマンドラインからの出力をほかのコマンドやツールにリダイレクトできます。
stderr: この標準エラーパイプで、エラーメッセージが送信されます。デフォルトでは、エラーは標準出力と共にコマンドラインに表示されます。
リダイレクトについて詳しくは、zshのマニュアルページ(manで表示)を参照してください。