オリジナル問題 LinuCレベル1試験 問題 問23
GNUとUnixのコマンド/ストリーム、パイプ、リダイレクトの使用xargsコマンドの用途として適切なものはどれか。
出典:オリジナル問題 LinuCレベル1試験 問題 問23
- A標準入力から受け取った内容を、そのまま別のファイルへ書き出して保存する
- B標準入力から受け取った内容を、指定したコマンドの引数として渡して実行する
- Cコマンドの実行結果を、行単位で並べ替えてから出力する
- Dパイプでつないだ複数のコマンドを、同時並行で実行させる
正解:B
解説
パイプで渡せるのは標準入力なので、引数としてしか受け取らないコマンドにはそのまま渡せません。xargsは標準入力の内容を引数に組み立て直してコマンドを実行します。例えば find . -name '*.log' | xargs rm のように使います(ファイル名に空白が含まれる場合は、find -print0 と xargs -0 を組み合わせます)。
選択肢ごとの解説
- A誤り。ファイルへの書き出しはリダイレクトやteeの役割です。
- B正しい。標準入力の内容をコマンドの引数として渡して実行します。
- C誤り。並べ替えはsortの役割です。
- D誤り。並行実行のための仕組みではありません(-Pで並列化はできますが主目的ではありません)。