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