[登録されているタグ]

[記事公開日]2025/12/20

PowerShellで重複を除外する|Select-Object -Unique の使い方

📝 はじめに

PowerShellで一覧を扱っていると、
「同じ値が何度も表示されて見づらい」
「重複しているデータを1つにまとめたい」
と感じる場面はよくあります。

そんなときに使えるのが
Select-Object -Unique です。
この記事では、重複を除外して一覧を整理する基本的な使い方を、
初めての方でも理解しやすいように解説します。

こんな場面で便利

  • 一覧から重複行を取り除きたい
  • ユーザー名やプロセス名を一意にしたい
  • 後続処理のためにデータを整理したい

✅ このコマンドでできること(要点)

  • 同じ値が連続している行を1つにまとめられる
  • 一覧をすっきり整理できる
  • 結果をそのまま後続処理に渡せる
  • 簡単な指定で重複除外ができる

✅ Select-Object -Unique でできること

Select-Object -Unique は、
パイプラインで渡されたオブジェクトの中から、
同じ内容が続いているものを1つだけ残すための指定です。

完全な「重複削除」というより、
「並び順を保ったまま重複をまとめる」というイメージが近いです。

🧩 基本構文

Select-Object -Unique

この指定を追加するだけで、
重複した行をまとめた結果を取得できます。

▶ 基本的な使い方(まずこれだけ)

🔹 プロセス名の重複を除外する

Get-Process | Select-Object Name -Unique

同じプロセス名が複数あっても、
1つだけ表示されます。
一覧が整理されていれば、正しく動作しています。

🔹 ファイル拡張子を一意にする

Get-ChildItem | Select-Object Extension -Unique

フォルダ内に存在する拡張子の種類だけを確認できます。

🛠 よく使われる指定例

🔹 Sort-Object と組み合わせる

Get-Process | Sort-Object Name | Select-Object Name -Unique

並び替えたうえで重複を除外することで、
より確実に一意な一覧を取得できます。
この結果が表示されていれば問題ありません。

🔹 文字列一覧を整理する

"a","b","a","c","b" | Select-Object -Unique

連続している同じ値がまとめられて表示されます。

💼 実務でよく使う使用例(応用)

🔹 ユーザー一覧を重複なしで取得

Get-LocalUser | Select-Object Name -Unique

🔹 ログデータの種類を整理する

Get-Content log.txt | Sort-Object | Select-Object -Unique
組み合わせ例

🧩 よくある勘違い・つまずきポイント

  • 完全な重複削除ではなく「連続した重複」の除外である
  • 並び替えしないと期待通りに除外されないことがある
  • 比較対象は表示しているプロパティになる
  • 元のデータが変更されるわけではない
  • 大文字・小文字の違いは通常区別されない

🔄 cmdとの違いについて

cmdでは重複除外を行うには
sort /unique などを使う必要があります。
PowerShellでは
Select-Object -Unique を使うことで、
パイプラインの流れの中で自然に処理できます。

⚠ エラー・うまく動かないときの確認ポイント

  • 事前に Sort-Object を使っているか
  • 比較したいプロパティだけを選択しているか
  • 意図しない列が含まれていないか
  • データが文字列として扱われているか

🧠 注意点

Select-Object -Unique は手軽ですが、
大量データや完全な重複削除が必要な場合は、
別の方法(Group-Object など)を検討した方がよいこともあります。

📌 まとめ

  • Select-Object -Unique は重複をまとめるための簡単な指定
  • 並び替えと組み合わせることで効果を発揮する
  • 一覧を整理し、後続処理をしやすくできる
  • 次は Group-Object との違いを理解すると応用が広がる

🔎 PowerShellコマンドを探す

やりたいことからコマンドを探せます。

  • ファイルを削除したい
  • 一覧を表示したい
  • 文字列を検索したい
  • 条件で絞り込みたい
  • エラーや実行できない原因を調べたい
  • 重複データを整理したい
  • 一覧をすっきりさせたい
Generic filters
すべてを開く | すべてを閉じる

ページ上部へ戻る