デジタルこどもBASEのロゴ特定非営利活動法人デジタルこどもBASE 道場トップ
第58回LV3⏱ 15〜30分

重複をまとめる:uniq

🎯 きょうのミッション

uniqで連続した同じ行をまとめます。sortと一緒に使うことが多いです。

👉 sortと組み合わせて、重複した行をひとまとめにするのが今回のゴールです。

🧠 できるようになること

  • sort | uniq という組み合わせをそらで言える
  • sort の役割を、結果の例から確かめられる
  • 練習用ディレクトリの中で安全に試せる

🧰 用意するもの

  • このページの「🖥 れんしゅうターミナル」(練習用ディレクトリ linux-tanken 入り)
  • キーボードで英数字と記号を入力できること

🖼 ターミナルの見本

このコマンドを実行すると、こんな結果になります(環境によって少し違うことがあります)。

📺 実行例
$ sort iro.txt | uniq
aka
ao
midori

⌨️ 今日のコマンド

Terminalれんしゅうターミナル
sort iro.txt | uniq

🚀 やってみよう

  1. cd ~/linux-tanken で練習場所に入ります。
  2. まず cat iro.txt で中身を見ます。同じ色が6行の中に何回も出てくるはず。
  3. sort iro.txt(左側だけ)を実行して、同じ色が「となり同士」に並ぶのを確認します。
  4. sort iro.txt | uniq と入力してEnterキーを押します。重複が1つにまとまります。
  5. 行がアルファベット順/数字順に並べ替えられて表示されます。

💡 探検ポイント

uniqは「となり同士」しか見ない。だから先にsortで仲間を集めておく。この2つはセット。

🎮 チャレンジ

  • sort せずに uniq iro.txt だけ実行するとどうなる?(uniq は「となり同士」しかまとめられない!)
  • sort iro.txt | uniq -c で、それぞれの色が何回出てきたか数えよう。
  • names.txt(重複なし)でも試して、結果が変わらないことを確かめよう。

📝 ふりかえり

  • 左のコマンド・右のコマンドのうち、結果を「作る」のはどっち?
  • パイプを使わずに同じことをするとしたら、何が大変?
  • パイプを3つつなげるとしたら、どんな処理を入れたい?

❓ うまくいかないとき

  • command not found → コマンド名のスペル確認。Tab補完で打ち間違いを防げる
  • No such file or directory → ls でファイル名・パスを見直す
  • 画面が固まった → Ctrl + C でコマンドを止める
  • 画面が乱れた → clear または Ctrl + L で整理する

👨‍👩‍👧 おうちの人・先生へ

この回はLinux初級の安全な操作範囲です。困ったときの対処として「直前のコマンド」「画面に出たメッセージ」をメモしておくと、次回の質問がスムーズになります。