Come sostituire il testo nell'ultima colonna?


0

C'è un modo semplice per convertire il testo nell'ultima colonna (8) se gli ultimi 3 caratteri della stringa sono "-TA" Quindi per esempio se la stringa di testo nell'ultima colonna è "AB-TA" convertirà il testo in "AB. NO "Se la stringa" -TA "non si trova alla fine dell'ultima colonna (ultimi 3 caratteri), non viene apportata alcuna modifica. Non c'è intestazione nel file di test. Si prega di consultare i dati di esempio qui sotto.

Grazie per qualsiasi suggerimento.

test.txt Ingresso:

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 Produzione

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

Risposte:


0

Puoi usare $ espressione regolare per ancorare solo caratteri di fine riga:

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

Se si desidera salvare i risultati nello stesso file, è necessario precaricare il file intero in memoria:

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

Grazie. È possibile scrivere l'output nel file originale?
jojo585

@ jojo585 Sì, è possibile.
PetSerAl
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.