Get-Unique
Mengembalikan item unik dari daftar yang diurutkan.
Sintaks
AsString (Default)
Get-Unique
[-InputObject <PSObject>]
[-AsString]
[-CaseInsensitive]
[<CommonParameters>]
UniqueByType
Get-Unique
[-InputObject <PSObject>]
[-OnType]
[-CaseInsensitive]
[<CommonParameters>]
Deskripsi
cmdlet Get-Unique 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 File.txt. 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 cmdlet Get-Unique untuk menghilangkan kata-kata duplikat apa pun. Hasilnya disimpan dalam variabel $A.
Perintah kedua menggunakan properti Count dari kumpulan string dalam $A untuk 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 cmdlet Sort-Object untuk diurutkan, lalu menyalurkannya ke Get-Unique, yang menghilangkan entri duplikat.
Contoh 3: Mendapatkan jenis objek unik dalam direktori
Perintah ini menggunakan cmdlet Get-ChildItem untuk mengambil konten direktori lokal, yang mencakup file dan direktori.
Get-ChildItem | Sort-Object {$_.GetType()} | Get-Unique -OnType
Operator alur (|) mengirim hasil ke cmdlet Sort-Object. Pernyataan $_.GetType() menerapkan metode GetType ke setiap file atau direktori. Kemudian, Sort-Object mengurutkan 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 ProcessName. Hasilnya disalurkan ke cmdlet Select-Object, yang hanya memilih nilai properti ProcessName dari setiap objek. Hasilnya kemudian disalurkan ke Get-Unique untuk 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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
AsString
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | False |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | 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.
Properti parameter
| Jenis: | PSObject |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
(All)
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | True |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
-OnType
Menunjukkan bahwa cmdlet ini hanya mengembalikan satu objek dari setiap jenis.
Properti parameter
| Jenis: | SwitchParameter |
| Nilai default: | None |
| Mendukung wildcard: | False |
| DontShow: | False |
Set parameter
UniqueByType
| Position: | Named |
| Wajib: | False |
| Nilai dari alur: | False |
| Nilai dari alur berdasarkan nama properti: | False |
| Nilai dari argumen yang tersisa: | False |
CommonParameters
Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.
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 untuk menemukan item unik dalam daftar.