Allora, ci ho sbattuto un pò la testa e sono arrivato ad una soluzione funzionale.
Ho creato uno script in vb.net che legge tutto il file e ne crea una copia anteponendo al tracciato originale una sorta di ID a 5 cifre che lega TESTA a CORPO, ottenendo il risultato come di seguito:
00001TESTA | ORDINE | DATA | CLIENTE | ecc
00001CORPO | CODICE | PREZZO | QTA | ecc
00001CORPO | CODICE | PREZZO | QTA | ecc
00001CORPO | CODICE | PREZZO | QTA | ecc
00002TESTA | ORDINE | DATA | CLIENTE | ecc
00002CORPO | CODICE | PREZZO | QTA | ecc
00002CORPO | CODICE | PREZZO | QTA | ecc
00002CORPO | CODICE | PREZZO | QTA | ecc
00002CORPO | CODICE | PREZZO | QTA | ecc
00002CORPO | CODICE | PREZZO | QTA | ecc
ho dovuto ricollegare le nuove tabelle ma il risultato che volevo è arrivato!
il codice, se può servire in futuro a qualcuno, è il seguente:
Dim i As Integer
Dim testo, testo2 As String
Dim ioRead As System.IO.StreamReader
ioRead = IO.File.OpenText("C:\miopercorso\fileorigine.txt")
Dim iowrite As System.IO.TextWriter = New StreamWriter("c:\miopercorso\finedestinazione.txt")
i = 0
While ioRead.Peek <> -1
testo = ioRead.ReadLine()
If testo.Substring(0, 5) = "TESTA" Then
i = i + 1
testo2 = Format(i, "00000") & testo
Else
testo2 = Format(i, "00000") & testo
End If
iowrite.WriteLine(testo2)
End While
ioRead.Close()
iowrite.Close()
close()