103.4基礎
標準入力にはalpha、beta、gammaが空白または改行で区切られている。
それらをechoの引数として1回以上のコマンド実行へ渡す。名前に空白や引用符は含まれない。
適切なフィルタはどれか。
× 不正解
xargsは標準入力から項目を読み、別コマンドの引数リストを構築して実行する。既定の区切り規則では空白に注意が必要である。
詳細解説
正しい
xargs echo標準入力を空白規則で引数へ組み立て、echoを実行する。
正解。各項目をechoの引数へ変換する。
誤り
tee echoechoというファイルへ入力を複写し、コマンド引数には変換しない。
echoというファイルへの複写になる。
誤り
echo | xargs空行をxargsへ渡すだけで、元の標準入力をechoの引数にしない。
元の入力を使わない。
誤り
cat echoechoというファイルを読み込もうとする。
ファイル読取りであり引数生成ではない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'alpha
beta
gamma
' | xargs echo期待される結果
alpha beta gamma理解のポイント
- 標準入力を引数へ変換
- 既定では空白を区切りとして解釈
- コマンド行サイズに応じて分割実行
確認時の注意
- 確認環境: GNU findutils 4.x
基礎のおさらい
既定の解析
通常のxargsは空白、引用符、バックスラッシュを独自に解釈するため、任意のファイル名には-print0と-0を使う。
実行の分割
引数がシステム上限を超える場合、xargsは複数回のコマンド実行へ分ける。
問題IDKP-103-073
確認環境GNU findutils 4.x
最終技術確認2026-08-12
誤り・権利侵害を報告