オリジナル問題 LinuCレベル1試験 問題 問6
GNUとUnixのコマンド/フィルタを使ったテキストストリームの処理uniqコマンドの説明として正しいものをすべて選べ。
出典:オリジナル問題 LinuCレベル1試験 問題 問6
- A連続して重複する行を1行にまとめる
- B入力全体をソートしてから重複を除去する
- C-cオプションを付けると、各行の出現回数を行頭に表示する
- Duniqを使う前に、通常はsortで同じ行を隣接させておく
正解:A、C、D
解説
uniqコマンドは、入力中で隣接する(連続している)同じ内容の行だけをまとめて1行にします。ソートは行いません。そのため、ファイル全体から重複行を除去したい場合は、あらかじめsortで同じ内容の行を隣接させてからuniqに渡すのが一般的な使い方です。-cオプションを付けると、各行の直前に出現回数が付加されます。
選択肢ごとの解説
- A正しい。uniqは連続して重複する行を1行にまとめます。
- B誤り。uniq自体はソート機能を持ちません。ソートしていない入力では、離れた位置にある同じ内容の行はまとめられません。
- C正しい。-cオプションは各行の出現回数を行頭に表示します。
- D正しい。uniqは隣接する重複しか扱わないため、通常はsortと組み合わせて使います。