Bagaimana cara menghapus duplikat dari array PowerShell?
$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
arrays
powershell
Eric Schoonover
sumber
sumber
Get-Unique
(ataugu
) jika array Anda sudah diurutkan.-u
.select -u
Saya akan menggunakan ini pada baris perintah, tetapi ditulis dalam kode, disarankan untuk menggunakan kata-kata PS lengkap:Select-Object -Unique
Opsi lainnya adalah menggunakan
Sort-Object
(aliassort
, tetapi hanya di Windows) dengan-Unique
sakelar, yang menggabungkan pengurutan dengan penghapusan duplikat:sumber
Jika Anda ingin menjadi bukti bom sepenuhnya, inilah saran saya:
Keluaran:
Ini menggunakan
Property
parameter untuk pertamaTrim()
string, jadi spasi ekstra dihapus dan kemudian memilih hanya-Unique
nilainya.Info lebih lanjut tentang
Sort-Object
:sumber
Get-Unique
tidak berfungsi karena ruangIni berfungsi dengan case-insensitive, oleh karena itu menghapus string duplikat dengan case yang berbeda. Memecahkan masalah saya.
Keluaran di atas:
sumber
Jika daftar diurutkan, Anda dapat menggunakan cmdlet Get-Unique :
sumber
Dengan metode saya, Anda dapat sepenuhnya menghapus nilai duplikat, meninggalkan Anda dengan nilai dari array yang hanya memiliki hitungan 1. Tidak jelas apakah ini yang sebenarnya diinginkan OP, namun saya tidak dapat menemukan contoh solusi ini secara online jadi ini dia.
sumber
Baik Anda menggunakan
SORT -UNIQUE
,SELECT -UNIQUE
atauGET-UNIQUE
dari Powershell 2.0 hingga 5.1, semua contoh yang diberikan ada di array Kolom tunggal. Saya belum mendapatkan ini berfungsi di Array dengan beberapa Kolom untuk MENGHAPUS Baris Duplikat untuk meninggalkan kejadian tunggal dari Baris di Kolom tersebut, atau mengembangkan solusi skrip alternatif. Sebaliknya, cmdlet ini hanya mengembalikan Baris dalam Array yang terjadi SEKALI dengan kejadian tunggal dan membuang semua yang memiliki duplikat. Biasanya saya harus Menghapus Duplikat secara manual dari keluaran CSV akhir di Excel untuk menyelesaikan laporan, tetapi terkadang saya ingin terus bekerja dengan data tersebut dalam Powershell setelah menghapus duplikat.sumber