標準入力
CoddyのTerminalジャーニー「基礎」セクションの一部。レッスン 40/82。
2 番目のデータストリームは、標準入力であり、stdin と略されます。標準出力がコマンドの結果の送信先であるのに対し、標準入力はコマンドがデータを受け取る場所です。
多くのコマンドは、ファイル名を引数として指定することで、ファイルから読み取ることができます。
cat notes.txt
sort names.txtただし、<演算子を使って、ファイルの内容をコマンドに直接リダイレクトすることもできます。
sort < names.txtこれは、標準入力を通じて names.txt の内容を sort コマンドに渡します。結果は sort names.txt と同じですが、仕組みは異なります。コマンド自体ではなく、シェルがファイルの読み取りを処理します。
入力と出力のリダイレクトを1つのコマンドに組み合わせることができます:
sort < names.txt > sorted_names.txtこれはnames.txtから読み取り、内容を並べ替え、その結果をsorted_names.txtに書き込みます。入力リダイレクトは、ファイル名の引数ではなく標準入力からのデータを想定するコマンドを扱うときに、特に便利です。
チャレンジ
簡単<code><演算子を使って入力をリダイレクトし、numbers.txtの内容を数値順に並べ替えます。
次の処理を行う単一のコマンドを実行します。
- <code><を使って
numbers.txtをsortコマンドにリダイレクトする -nフラグを使って数値順に並べ替える
ヒント: 形式は
sort -n < filenameです。シェルはファイルを読み取り、その内容を標準入力を通じてコマンドに渡します。
自分で試してみよう
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Terminalプレイグラウンド