Son sütundaki metin nasıl değiştirilir?


0

Eğer dizenin son 3 karakteri "-TA" ise, son sütunda (8) metin dönüştürmenin kolay bir yolu var mı? Örneğin, örneğin, son sütundaki metin dizesi "AB-TA" ise, metni "AB" ye dönüştürecektir. NO "-TA" dizgisi son sütunun sonunda değilse (son 3 karakter) değişiklik yapılmaz. Test dosyasında başlık yoktur. Lütfen aşağıdaki örnek verilere bakınız.

Herhangi bir öneriniz için teşekkür ederiz.

test.txt Girdi:

04/02/2014,4.620,4.620,4.400,4.580,166535,0,A
04/02/2014,5.740,5.820,5.530,5.750,516280,0,AB
04/02/2014,48.950,49.190,48.060,48.690,205951,0,AB-TA
04/02/2014,62.670,62.760,62.440,62.640,514203,0,CD
04/02/2014,25.020,25.060,24.750,24.810,159602,0,CD-TA

test.txt Çıkışı

04/02/2014,4.620,4.620,4.400,4.580,166535,0,A
04/02/2014,5.740,5.820,5.530,5.750,516280,0,AB
04/02/2014,48.950,49.190,48.060,48.690,205951,0,AB.NO
04/02/2014,62.670,62.760,62.440,62.640,514203,0,CD
04/02/2014,25.020,25.060,24.750,24.810,159602,0,CD.NO

Yanıtlar:


0

$Normal ifade çapasını, yalnızca satır karakterlerinin sonuna eşlemek için kullanabilirsiniz :

Get-Content in.txt|
ForEach-Object {$_-replace'-TA$','.NO'}|
Set-Content out.txt

Sonuçları aynı dosyaya kaydetmek istiyorsanız, dosyanın tamamını belleğe önceden yüklemeniz gerekir:

@(Get-Content test.txt)|
ForEach-Object {$_-replace'-TA$','.NO'}|
Set-Content test.txt

Teşekkür ederim. Çıktıyı orijinal dosyaya yazmak mümkün mü?
jojo585

@ jojo585 Evet mümkün.
PetSerAl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.