PowerShell'de Bir Diziden Boş Satırları Nasıl Kaldırırım?


PowerShell dizisinden boş satırları mı kaldırmak istiyorsunuz? Bu PowerShell eğitiminde, PowerShell'de bir dizideki boş satırların nasıl kaldırılacağını açıklayacağım.

PowerShell'deki bir dizideki boş satırları kaldırmak için, Where-Object cmdlet'ini boş veya yalnızca boşluk içeren dizeleri filtreleme koşuluyla birlikte kullanabilirsiniz. Örneğin, $dizi=$dizi | Where-Object { $_.Trim() -ne ” } $array'deki tüm boş satırları kaldıracaktır. Bu yaklaşım, her bir öğeyi kontrol eder, boşlukları keser ve dizide yalnızca boş olmayan dizelerin kalmasını sağlar.

PowerShell'deki Diziden Boş Satırları Kaldırma

Dizi, bir dizi öğeyi depolayabilen bir veri yapısıdır. PowerShell'de diziler; dizeler, tamsayılar ve hatta diğer diziler de dahil olmak üzere her türden öğeyi tutabilir. Diziler, veri kümelerini depolamak ve işlemek için inanılmaz derecede faydalıdır.

Bir dizideki "boş satır" genellikle "" olarak gösterilebilen boş bir dizeyle veya yalnızca boşluk, sekme veya yeni satır gibi boşluk karakterlerinden oluşan bir dizeyle temsil edilir. Bunların doğru şekilde tanımlanması, bunların PowerShell dizisinden kaldırıldığından emin olmak açısından önemlidir.

Şimdi PowerShell'de bir dizideki boş satırları kaldırmak için 3 yöntem görelim. Visual Studio Code'u kullanarak yürüttüğüm tüm komut dosyaları.

Yöntem 1: Where-Object Cmdlet'ini Kullanma

Bir dizideki boş satırları kaldırmanın en basit yollarından biri PowerShell'deki Where-Object cmdlet'ini kullanmaktır. Bu cmdlet, True veya False değerini döndüren bir komut dosyası bloğuna göre öğeleri filtrelemenize olanak tanır.

Burada bir PowerShell dizisinden boş satırların kaldırılmasına ilişkin tam bir örnek verilmiştir.

# Create an array with blank lines
$arrayWithBlanks = @("Line1", "", "Line2", " ", "Line3")

# Remove the blank lines
$cleanArray = $arrayWithBlanks | Where-Object { $_.Trim() -ne "" }

# Display the clean array
$cleanArray

Yukarıdaki örnekte, $_ dizideki her öğeyi temsil eder ve .Trim() yöntemi, baştaki veya sondaki boşluk karakterlerini kaldırmak için kullanılır. -ne "" karşılaştırması, kırpılan öğenin boş bir dize olup olmadığını kontrol eder.

Aşağıdaki ekran görüntüsünde çıktıyı kontrol edebilirsiniz:

Yöntem 2: foreach Döngüsünü Kullanma

PowerShell'de boş satırları kaldırmanın başka bir yöntemi de dizideki her öğe üzerinde yineleme yapmak ve boş olmayan öğeleri yeni bir dizide toplamak için bir foreach döngüsü kullanmaktır.

İşte tam PowerShell betiği.

# Create an array with blank lines
$arrayWithBlanks = @("Line1", "", "Line2", " ", "Line3")

# Create an empty array to hold non-empty lines
$cleanArray = @()

# Loop through each item and add non-empty lines to the clean array
foreach ($line in $arrayWithBlanks) {
    if ($line.Trim() -ne "") {
        $cleanArray += $line
    }
}

# Display the clean array
$cleanArray

Bu yöntem, süreç üzerinde daha fazla kontrol sahibi olmanızı sağlar ve diziyi filtreleme adımlarını parçaladığı için yeni başlayanların anlaması daha kolay olabilir. Çıktı için aşağıdaki ekran görüntüsüne göz atın:

Yöntem 3: -match Operatörüyle Normal İfadeleri Kullanma

PowerShell ayrıca -match operatörünü kullanarak boş satırları tanımlamak ve kaldırmak için kullanılabilen normal ifadeleri de destekler.

Burada, bir PowerShell dizisinden boş satırları kaldırmak için normal ifadelerin nasıl kullanılacağına ilişkin tam bir örnek verilmiştir.

# Create an array with blank lines
$arrayWithBlanks = @("Line1", "", "Line2", " ", "Line3")

# Use regex to remove blank lines
$cleanArray = $arrayWithBlanks | Where-Object { $_ -match "\S" }

# Display the clean array
$cleanArray

Bu örnekte \S, boşluk olmayan herhangi bir karakterle eşleşen bir normal ifade kalıbıdır. -match operatörü, boşluk olmayan en az bir karakter içeren herhangi bir dize için True değerini döndürür ve boş satırları etkili bir şekilde filtreler.

İşte aşağıdaki ekran görüntüsündeki çıktı.

Çözüm

PowerShell'deki bir diziden boş satırların kaldırılması, Where-Object cmdlet'inin basit ve kısa olması, foreach döngüsünün net bir mantık ve kontrol sunması ve düzenli olması gibi çeşitli yöntemler kullanılarak gerçekleştirilebilir. ifadeler güçlü desen eşleştirme yetenekleri sağlar.

Bu PowerShell betiği eğitiminde, çeşitli yöntemler ve örnekler kullanarak PowerShell'deki bir diziden boş satırların nasıl kaldırılacağını açıkladım.

İlgili makaleler