PowerShell: Nesne Dizisini Özelliğe Göre Filtreleme
Genellikle PowerShell'deki belirli bir özelliğe göre bir dizi nesneyi filtrelemek isteyebilirsiniz.
Bunu yapmak için aşağıdaki sözdizimini kullanabilirsiniz:
$players | Where-Object { $_.team -eq "Kings" }
Bu özel örnek, $players adlı diziyi, yalnızca team özelliğinin "Krallar"a eşit olduğu dizideki nesneleri görüntüleyecek şekilde filtreler.
Daha kısa kod için ? komutunu Where-Object cmdlet'inin takma adı olarak da kullanabileceğinizi unutmayın:
$players | ? { $_.team -eq "Kings" }Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: PowerShell'de Nesne Dizisini Özelliğe Göre Filtreleme
İlk olarak, dört farklı basketbol oyuncusu hakkında bilgi içeren $players adlı bir dizi nesne oluşturmak için aşağıdaki sözdizimini kullanabiliriz:
$players = @(
[pscustomobject]@{team="Mavs";points=40;assists=12},
[pscustomobject]@{team="Kings";points=22;assists=7},
[pscustomobject]@{team="Hawks";points=25;assists=11},
[pscustomobject]@{team="Celtics";points=13;assists=9})Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:
Şimdi diziyi yalnızca team özelliğindeki değerin "Krallar"a eşit olduğu nesneleri görüntüleyecek şekilde filtrelemek istediğimizi varsayalım.
Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:
$players | Where-Object { $_.team -eq "Kings" }Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:
Bunun dizide yalnızca team özelliğinin "Krallar"a eşit olduğu tek nesneyi döndürdüğüne dikkat edin.
İsterseniz sayısal değerleri kullanarak da filtreleme yapabileceğinizi unutmayın.
Örneğin, diziyi yalnızca puan sütunundaki değerin 30'dan küçük olduğu nesneleri görüntüleyecek şekilde filtrelemek için aşağıdaki söz dizimini kullanabilirsiniz:
$players | Where-Object { $_.points -lt 30 }
Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:
Bunun yalnızca points sütunundaki değerin ( -lt ) 30'dan küçük olduğu dizideki nesneleri döndürdüğüne dikkat edin.
Dizideki nesneleri istediğiniz herhangi bir sayısal değeri kullanarak filtrelemek için benzer sözdizimini kullanmaktan çekinmeyin.


