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
Anda dapat menyalurkan semua jenis objek ke cmdlet ini.
Output
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.