PowerShell: Dosyadaki Her Dize Oluşumu Nasıl Değiştirilir


PowerShell kullanarak bir dosyadaki bir dizenin her tekrarını değiştirmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

(Get-Content c:\doc\data.txt).Replace('old', 'new') | Set-Content c:\doc\data.txt

Bu özel örnek, data.txt adlı dosyada "eski" dizesinin geçtiği her yeri "yeni" ile değiştirir.

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

Örnek: PowerShell'de Dosyadaki Her Dize Oluşumunu Değiştirme

Birinin tuttuğu basketbol takımı hakkında bilgi içeren basketball_info.txt adında aşağıdaki metin dosyamızın olduğunu varsayalım:

Bu dosyanın aşağıdaki konuma kaydedildiğini varsayalım:

c:\users\bobbi\documents\basketball_info.txt

"Mavs" metninin her geçtiği yeri "Lakers" metniyle değiştirmek istediğimizi varsayalım.

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

(Get-Content c:\users\bobbi\documents\basketball_info.txt).Replace('Mavs', 'Lakers') | Set-Content c:\users\bobbi\documents\basketball_info.txt

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

Daha sonra bilgisayarımızdaki dosyaya bir kez daha gidebilir ve onu görüntüleyebiliriz:

Dosyadaki her “Mavs” ifadesinin bunun yerine “Lakers” ile değiştirildiğini görebiliyoruz.

Bir dosyada belirli bir dizenin her oluşumunu kaldırmak istiyorsanız, dizeyi hiçbir şeyle değiştirebileceğinizi unutmayın.

Örneğin, dosyadaki her "Lakers" sözcüğünü basitçe kaldırmak için aşağıdaki sözdizimini kullanabilirsiniz:

(Get-Content c:\users\bobbi\documents\basketball_info.txt).Replace('Lakers', '') | Set-Content c:\users\bobbi\documents\basketball_info.txt

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

Daha sonra görüntülemek için bilgisayarımızdaki bu dosyaya tekrar gidebiliriz:

“Lakers”ın her geçtiği yerin dosyadan kaldırıldığını görüyoruz.

İlgili makaleler