PowerShell: Select-String'i Tam Eşleştirmeyle Kullanma


Bir kalıpla tam olarak eşleşen bir dizeyi aramak amacıyla Select-String cmdlet'ini kullanmak için PowerShell'de aşağıdaki temel sözdizimini kullanabilirsiniz:

Select-String "\bWest\b" -Path "c:\users\bobbi\data1\conferences.txt"

Bu özel örnek, conferences.txt adlı dosyada, satırın herhangi bir yerinde tam olarak "West" dizesini içeren tüm satırları döndürür.

Kelime sınırlarını belirtmek için ilgilendiğimiz dizenin önünde ve sonrasında \b kullandığımızı unutmayın.

Bu, yalnızca tam olarak "West" dizesini içeren ve "Midwest" veya "Western" veya benzeri bir varyasyonu içermeyen satırları döndürmemize olanak tanır.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: PowerShell'de Select-String'i Tam Eşleştirmeyle Kullanma

Aşağıdaki yolda bulunan bir dosyamız olduğunu varsayalım:

c:\users\bobbi\data1\conferences.txt

Bu dosyanın tüm içeriğini görüntülemek için Get-Content cmdlet'ini kullanabiliriz:

Dosya, NBA'deki çeşitli basketbol takımlarının ait olduğu konferans hakkında bilgi veren toplam altı satır içeriyor.

Satırın herhangi bir yerinde tam olarak "West" dizesini içeren tüm satırları döndürmek istediğimizi varsayalım.

Bunu yapmak için aşağıdaki sözdizimini kullanmaya çalıştığımızı varsayalım:

Select-String "West" -Path "c:\users\bobbi\data1\conferences.txt" 

Aşağıdaki ekran görüntüsü bu sözdiziminin pratikte nasıl kullanılacağını göstermektedir:

Bu, tam eşleşmeden bağımsız olarak "Batı"yı içeren her satırı döndürür.

Örneğin “West” veya “Western” içeren satırların her ikisinin de döndürüldüğünü görebiliriz.

Tam eşleşme aramak için bunun yerine aşağıdaki sözdizimini kullanmalıyız:

Select-String "\bWest\b" -Path "c:\users\bobbi\data1\conferences.txt" 

Bu, dosyadaki yalnızca 4 numaralı satırı döndürür; bu, kelimenin bazı varyasyonlarını değil, "Batı" dizesini tam olarak içeren tek satırdır.

İlgili makaleler