Bagikan melalui


Get-Unique

Mengembalikan item unik dari daftar yang diurutkan.

Sintaks

Get-Unique
   [-InputObject <PSObject>]
   [-AsString]
   [-CaseInsensitive]
   [<CommonParameters>]
Get-Unique
   [-InputObject <PSObject>]
   [-OnType]
   [-CaseInsensitive]
   [<CommonParameters>]

Deskripsi

Get-Unique Cmdlet membandingkan setiap item dalam daftar yang diurutkan dengan item berikutnya, menghilangkan duplikat, dan hanya mengembalikan satu instans dari setiap item. Daftar harus diurutkan agar cmdlet berfungsi dengan baik.

Secara default, Get-Unique peka huruf besar/kecil. Akibatnya, string yang hanya berbeda dalam casing karakter dianggap unik.

Contoh

Contoh 1: Mendapatkan kata-kata unik dalam file teks

Perintah ini menemukan jumlah kata unik dalam file teks.

$A = $( foreach ($line in Get-Content C:\Test1\File1.txt) {
    $line.tolower().split(" ")
  }) | Sort-Object | Get-Unique
$A.count

Perintah pertama mendapatkan konten File.txt file. Ini mengonversi setiap baris teks menjadi huruf kecil lalu memisahkan setiap kata ke baris terpisah di spasi (" "). Kemudian, ia mengurutkan daftar yang dihasilkan menurut abjad (default) dan menggunakan Get-Unique cmdlet untuk menghilangkan kata-kata duplikat apa pun. Hasilnya disimpan dalam $A variabel .

Perintah kedua menggunakan properti Hitung dari kumpulan string untuk $A menentukan berapa banyak item yang ada di $A.

Contoh 2: Mendapatkan bilangan bulat unik dalam array

Perintah ini menemukan anggota unik dari kumpulan bilangan bulat.

1,1,1,1,12,23,4,5,4643,5,3,3,3,3,3,3,3 | Sort-Object | Get-Unique

1
3
4
5
12
23
4643

Perintah pertama mengambil array bilangan bulat yang diketik pada baris perintah, menyalurkannya ke Sort-Object cmdlet untuk diurutkan, lalu menyalurkannya ke Get-Unique, yang menghilangkan entri duplikat.

Contoh 3: Mendapatkan jenis objek unik dalam direktori

Perintah ini menggunakan Get-ChildItem cmdlet untuk mengambil konten direktori lokal, yang mencakup file dan direktori.

Get-ChildItem | Sort-Object {$_.GetType()} | Get-Unique -OnType

Operator alur (|) mengirimkan hasil ke Sort-Object cmdlet. Pernyataan menerapkan $_.GetType() metode GetType ke setiap file atau direktori. Kemudian, Sort-Object urutkan item menurut jenis. Operator alur lain mengirimkan hasilnya ke Get-Unique. Parameter OnType mengarahkan Get-Unique untuk mengembalikan hanya satu objek dari setiap jenis.

Contoh 4: Mendapatkan proses unik

Perintah ini mendapatkan nama proses yang berjalan di komputer dengan duplikat dihilangkan.

Get-Process | Sort-Object | Select-Object processname | Get-Unique -AsString

Perintah Get-Process mendapatkan semua proses di komputer. Operator alur (|) meneruskan hasil ke Sort-Object, yang, secara default, mengurutkan proses menurut abjad menurut ProcessName. Hasilnya disalurkan ke Select-Object cmdlet, yang hanya memilih nilai properti ProcessName dari setiap objek. Hasilnya kemudian disalurkan untuk Get-Unique menghilangkan duplikat.

Parameter AsString memberi tahu Get-Unique untuk memperlakukan nilai ProcessName sebagai string. Tanpa parameter ini, Get-Unique memperlakukan nilai ProcessName sebagai objek dan hanya mengembalikan satu instans objek, yaitu, nama proses pertama dalam daftar.

Contoh 5: Gunakan perbandingan peka huruf besar/kecil untuk mendapatkan string unik

Contoh ini menggunakan perbandingan yang tidak peka huruf besar/kecil untuk mendapatkan string unik dari array string.

"aa", "Aa", "Bb", "bb", "aa" | Sort-Object -CaseSensitive | Get-Unique

aa
Aa
bb
Bb

Contoh 6: Gunakan perbandingan yang tidak peka huruf besar/kecil untuk mendapatkan string unik

Contoh ini menggunakan perbandingan yang tidak peka huruf besar/kecil untuk mendapatkan string unik dari array string.

"aa", "Aa", "Bb", "bb", "aa" | Sort-Object | Get-Unique -CaseInsensitive

aa
Bb

Parameter

-AsString

Menunjukkan bahwa cmdlet ini menggunakan data sebagai string. Tanpa parameter ini, data diperlakukan sebagai objek, jadi ketika Anda mengirimkan kumpulan objek dengan jenis yang sama ke Get-Unique, seperti kumpulan file, data hanya mengembalikan satu (yang pertama). Anda dapat menggunakan parameter ini untuk menemukan nilai unik properti objek, seperti nama file.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-CaseInsensitive

Secara default, Get-Unique peka huruf besar/kecil. Saat Anda menggunakan parameter ini, cmdlet menggunakan perbandingan yang tidak peka huruf besar/kecil.

Parameter ini ditambahkan di PowerShell 7.4.

Jenis:SwitchParameter
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-InputObject

Menentukan input untuk Get-Unique. Masukkan variabel yang berisi objek atau ketik perintah atau ekspresi yang mendapatkan objek.

Cmdlet ini memperlakukan input yang dikirimkan menggunakan InputObject sebagai koleksi. Ini tidak menghitung item individual dalam koleksi. Karena koleksi adalah item tunggal, input yang dikirimkan menggunakan InputObject selalu dikembalikan tidak berubah.

Jenis:PSObject
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:True
Terima karakter wildcard:False

-OnType

Menunjukkan bahwa cmdlet ini hanya mengembalikan satu objek dari setiap jenis.

Jenis:SwitchParameter
Position:Named
Nilai default:None
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

Input

PSObject

Anda dapat menyalurkan semua jenis objek ke cmdlet ini.

Output

PSObject

Cmdlet ini mengembalikan objek inputnya tanpa duplikat.

Catatan

PowerShell menyertakan alias berikut untuk Get-Unique:

  • Semua platform:
    • gu

Untuk informasi selengkapnya, lihat about_Aliases.

Untuk mengurutkan daftar, gunakan Sort-Object. Anda juga dapat menggunakan parameter Sort-Object Unik untuk menemukan item unik dalam daftar.