PowerShell'de Dizi Nasıl Sıralanır?


PowerShell sıralama dizileri hakkında bilgi sahibi olmanız mı gerekiyor? Bu PowerShell eğitiminde PowerShell'de bir dizinin çeşitli yöntemler ve gerçek örnekler kullanılarak nasıl sıralanacağını açıklayacağım.

PowerShell'de bir diziyi sıralamak için Sort-Object cmdlet'ini kullanın. Artan düzen için diziyi cmdlet'e aktarın ($myArray | Sıralama-Nesne. Azalan düzende sıralamak için -Descending parametresini ekleyin: $myArray | Sıralama-Nesne -Azalan.

PowerShell'de Diziyi Sıralama

Dizi, bir dizi öğeyi tutan bir veri yapısıdır. Bu öğeler herhangi bir veri türünde olabilir ve PowerShell'de diziler farklı türdeki öğeleri bile tutabilir. Diziler, veri kümelerini depolamak ve işlemek için inanılmaz derecede faydalıdır.

PowerShell dizisini sıralamak için farklı yöntemleri inceleyelim.

PowerShell Dizisini Sort-Object ile Sıralama

PowerShell'de sıralamaya yönelik birincil cmdlet Sort-Object'tir. Bu cmdlet, nesneleri nesne özelliği değerlerine göre artan veya azalan sırada sıralar. Bir özellik belirtmezseniz PowerShell, nesne türüne ilişkin varsayılan özelliğe göre sıralama yapar.

Temel Sıralama

PowerShell'de sort-object kullanarak bir sayı dizisini sıralamanın basit bir örneği:

$array = 3, 1, 4, 1, 5, 9, 2
$sortedArray = $array | Sort-Object
$sortedArray

Bu, sayıları artan sırada verecektir:

1
1
2
3
4
5
9

PowerShell'de bir dize dizisinin nasıl sıralanacağına dair başka bir örnek.

# Define a string array
$stringArray = 'orange', 'apple', 'banana'

# Sort the array in ascending order using Sort-Object
$sortedArray = $stringArray | Sort-Object

# Output the sorted array
$sortedArray

Bu komut dosyası 'elma', 'muz' ve 'turuncu' dizelerini artan alfabetik sıraya göre üretecektir. PowerShell betiğini VS kodunu kullanarak çalıştırdıktan sonra çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:

Azalan düzende sıralamak istiyorsanız Sort-Object satırını -Descending parametresini içerecek şekilde değiştirirsiniz:

# Sort the array in descending order
$sortedArray = $stringArray | Sort-Object -Descending

Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz; VS kodunu kullandım; PowerShell betiğini yürütmek için herhangi bir düzenleyiciyi kullanabilirsiniz.

Azalan Düzende Sıralama

PowerShell dizisini azalan düzende sıralamak için -Azalan anahtarını kullanın:

$sortedArray = $array | Sort-Object -Descending
$sortedArray

PowerShell'de Dize Dizisini Sırala

PowerShell'de bir dize dizisini de sıralayabilirsiniz. Varsayılan olarak sıralama büyük/küçük harfe duyarlı değildir:

$stringArray = 'Banana', 'apple', 'Cherry'
$sortedStringArray = $stringArray | Sort-Object
$sortedStringArray

Bu, dizeleri alfabetik sıraya göre sıralar:

apple
Banana
Cherry

Özel İfadeyi kullanarak PowerShell'de bir Diziyi sıralama

Özel bir ifade kullanarak PowerShell'de bir diziyi nasıl sıralayacağımızı görelim. Bir dizenin parçaları veya matematiksel hesaplamalar gibi ifadelere göre sıralama yapabilirsiniz:

$array = 'a1', 'a10', 'a2', 'a3'
$sortedArray = $array | Sort-Object { [int]($_.Substring(1)) }
$sortedArray

Bu, diziyi her dizenin sayısal kısmına göre sıralayacaktır:

a1
a2
a3
a10

Birden Çok Özelliklere Sahip PowerShell Dizisini Sıralama

Ayrıca bir PowerShell dizisini birden çok özelliğe göre sıralayabilirsiniz. Bu, karmaşık nesneleriniz olduğunda ve önce bir özelliğe, sonra diğerine göre sıralama yapmak istediğinizde kullanışlıdır:

$people = @(
    @{ Name = 'John'; Age = 30 },
    @{ Name = 'Jane'; Age = 25 },
    @{ Name = 'John'; Age = 22 }
)

$sortedPeople = $people | Sort-Object -Property Name, Age
$sortedPeople

Yukarıdaki PowerShell betiği, insanları ada göre ve ardından her addaki yaşa göre sıralayacaktır.

PowerShell'de Karma Tablolarla Diziyi Sıralayın

PowerShell'de karma tabloları olan bir diziyi nasıl sıralayacağınızı size göstereyim. Farklı özellikler için farklı sıralamalar belirlemek amacıyla karma tabloları kullanabilirsiniz:

$sortedPeople = $people | Sort-Object -Property @{Expression="Name";Descending=$false}, @{Expression="Age";Descending=$true}
$sortedPeople

Bu, ada göre artan sırada, ardından yaşa göre azalan sırada sıralar.

Çözüm

PowerShell'de dizileri sıralamak çok yaygın bir gereksinimdir ve bunu çeşitli yöntemler kullanarak başarabiliriz. Sort-Object cmdlet'i, artan veya azalan düzende sıralama, büyük/küçük harf duyarlılığı ve benzersiz değer sıralama seçenekleriyle çoğu sıralama görevi için başvurulacak olan komuttur.

Bu PowerShell eğitiminde, PowerShell dizisi sıralama ile nasıl çalışılacağını, özellikle de PowerShell dizisini sıralamak için farklı yöntemleri açıkladım.

İlgili makaleler