ソフトウェア
次のシェルスクリプトのコマンドライン `cat access.log | grep "ERROR" | wc -l > error_count.txt` について、データの流れとリダイレクトの説明として正しいものはどれか。
ア.access.logの全内容をerror_count.txtにコピーし、grepとwcは並列に実行される
イ.`>` 記号はerror_count.txtからaccess.logへデータを流す(入力リダイレクト)
ウ.パイプ `|` によりコマンドが直列実行され、最終結果がコンソールに表示される
エ.access.logを読んでERRORを含む行だけ抽出し、その行数を数えて結果をerror_count.txtに書き込む正解
解説
シェルのパイプは「工場の生産ライン」。各コマンドが職人として前から受け取り→加工して→次へ渡す。最後の`>`で製品を倉庫(ファイル)に収める!
なぜ エ が正解か
データフロー: ①cat access.log → ファイルを標準出力に出力。②| grep "ERROR" → catの出力を受け取り"ERROR"含む行のみ通過。③| wc -l → grepの出力を受け取り行数を数える。④> error_count.txt → wc -lの結果(数値1つ)をファイルに書き込み(上書き)。パイプ`|`は直列(シーケンシャル)に標準出力→標準入力を繋ぐ。
出典: AI生成問題(学習用)