1.03.3基礎
generate-itemsが標準出力へ出す行数を、その内容をファイルへ保存せずwcで数える。
適切なコマンド列はどれか。
× 不正解
パイプによりgenerate-itemsの出力がwc -lの入力となり、中間ファイルなしで行数を集計できる。
詳細解説
正しい
generate-items | wc -l生成されたstdoutをwcのstdinへ接続し、改行数を数える。
正しい。wc -lがパイプからgenerate-itemsの全出力を読み、改行数だけを表示する。
誤り
generate-items > wc -lwcというファイルへの出力リダイレクトとして解釈され、-lは別コマンドにならない。
誤り。リダイレクト構文で空白後の-lが別コマンドにはならず、意図したパイプラインを作らない。
誤り
wc -l | generate-items接続方向が逆で、wcはgenerate-itemsの出力を受け取らない。
誤り。wcが先に端末から入力を待ち、その出力をgenerate-itemsへ渡す逆向きになる。
誤り
generate-items ; wc -lwcは端末の標準入力を待ち、前の出力を受け取らない。
誤り。generate-itemsの結果は端末へ流れ、続くwcは別のstdinを読む。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'a\nb\nc\n' | wc -l期待される結果
3理解のポイント
- 左から右へdata flow
- wc -lはstdinを数える
- 中間file不要
確認時の注意
- 確認環境: POSIX shell / GNU wc / 標準入力
基礎のおさらい
フィルタの合成
stdoutへ結果を出すコマンドとstdinから読むフィルタを小さく接続して処理を組み立てられる。
中間保存
再利用や監査が不要なら一時ファイルを省き、ストレージ書込と後片付けを減らせる。
問題IDKL-101-474
確認環境POSIX shell / GNU wc / 標準入力
最終技術確認2026-08-13
誤り・権利侵害を報告