PowerShell: Dosyadaki Birden Çok Dize Nasıl Değiştirilir


PowerShell kullanarak bir dosyadaki birden çok dizeyi değiştirmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

(Get-Content c:\doc\data.txt).Replace('old1', 'new1').Replace('old2', 'new2') | Set-Content c:\doc\data.txt

Bu özel örnek, data.txt adlı dosyada aşağıdaki değişiklikleri yapar:

  • eski1, yeni1 ile değiştirildi
  • eski2, yeni2 ile değiştirildi

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

Örnek: PowerShell'deki Dosyadaki Birden Çok Dizeyi Değiştirme

Bir kişinin farklı basketbol takımları tercihi hakkında bilgi içeren basketball_info.txt adlı aşağıdaki metin dosyasına sahip olduğumuzu varsayalım:

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

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

Dosyada aşağıdaki değişiklikleri yapmak istediğimizi varsayalım:

  • Lakers'ın her tekrarını Mavs ile değiştirin.
  • Her Warriors ifadesini Spurs ile değiştirin.

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

(Get-Content c:\users\bobbi\documents\basketball_info.txt).Replace('Lakers', 'Mavs').Replace('Warriors', 'Spurs') | 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 dosyayı görüntüleyebiliriz:

Dosyada aşağıdaki değişikliklerin yapıldığını görebiliriz:

  • Her Lakers oluşumu Mavs ile değiştirildi.
  • Her Warriors oluşumu Spurs ile değiştirildi.

Not: Bu örnekte iki eski dizeyi iki yeni dizeyle değiştirdik, ancak istediğiniz sayıda Replace() yöntemini birbirine zincirlemek için benzer söz dizimini kullanabilirsiniz. daha fazla dizeyi değiştirin.

İlgili makaleler