1.03.2標準
sorted-status.txtは同じ状態名が隣接するようソート済みである。
状態ごとに連続出現回数と状態名を表示する。
適切なコマンドはどれか。
× 不正解
uniq -cは隣接する同一行を1グループにまとめ、その行が連続した回数を表示する。
詳細解説
正しい
uniq -c sorted-status.txt隣接する同一行をまとめ、各グループの出現回数を前置する。
正しい。入力が状態名順なので、uniq -cがdownの連続2回、upの連続3回を数えられる。
誤り
sort -c sorted-status.txt並び順を検査し、状態ごとの件数を表示しない。
誤り。sort -cは順序が乱れていれば報告するだけで、各状態の集計結果を作らない。
誤り
wc -l sorted-status.txtファイル全体の行数だけを数える。
誤り。wc -lでは総数5だけが分かり、downとupの内訳が分からない。
誤り
uniq -d sorted-status.txt重複した行を表示するが、回数は付けない。
誤り。uniq -dはdownとupを表示できるが、それぞれ2回・3回という数値を出さない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf 'down\ndown\nup\nup\nup\n' | uniq -c期待される結果
2 downと3 up理解のポイント
- uniqはadjacent duplicates
- -cはcount
- 必要なら事前sort
確認時の注意
- 確認環境: GNU coreutils 9.x / 標準入力
基礎のおさらい
隣接条件
uniqは離れた同一行をまとめないため、一般的な集計では事前にsortする。
パイプ集計
sort input | uniq -c | sort -nrのように、頻度順へ並べる処理も組み立てられる。
問題IDKL-101-464
確認環境GNU coreutils 9.x / 標準入力
最終技術確認2026-08-13
誤り・権利侵害を報告