[Linuxtrent] Re: manipolazione file

  • From: Diego Maniacco <diego.maniacco@xxxxxxxxx>
  • To: Linuxtrent List <linuxtrent@xxxxxxxxxxxxx>
  • Date: Wed, 3 Apr 2019 11:20:01 +0200

Per questi casi awk (criptico forse, ma potentissimo sui caratteri) risolve.
Nel caso specifico userei semplicemente sed (Serial editor) in sequenza.
diego
---------------------------------------
Diego Maniacco, Bolzano (Italy)
diego.maniacco@xxxxxxxxx
---------------------------------------



On Wed, 3 Apr 2019 at 08:46, mauro cavagna <cavagna.mauro@xxxxxxxxx> wrote:

Grazie a tutti per l'aiuto e i preziosi consigli.
Ho imparato davvero molte cose nuove!

Le righe dei tuoi file hanno _tutte_ lo stesso tracciato record?

Sì, e il secondo numero è sempre tra 1 e 9.

Alla fine ho risolto seguendo le istruzioni di Guido, ma ho capito che
devo imparare ad usare bene un linguaggio di programmazione.
Grazie ancora e buona giornata a tutti

Mauro


Il giorno mar 2 apr 2019 alle ore 19:33 Diego Maniacco <
diego.maniacco@xxxxxxxxx> ha scritto:

Le righe dei tuoi file hanno _tutte_ lo stesso tracciato record?
Se il secondo numerello è 0 (zero), cosa andrebbe fatto?
diego
---------------------------------------
Diego Maniacco, Bolzano (Italy)
diego.maniacco@xxxxxxxxx
---------------------------------------



On Tue, 2 Apr 2019 at 13:51, mauro cavagna <cavagna.mauro@xxxxxxxxx>
wrote:

Ciao a tutti,
è la prima volta che mi rivolgo alla lista per chiedere aiuto. Sono un
fan di Linux ma ancora alle prime armi.
Ho un problema con la manipolazione di alcuni file di testo. Ho un
centinaio di file che contengono migliaia di righe come queste:

0*3*3000,+00.44,-00.76,-00.03,+01.65,+2.7899,+1.2512
033000,+00.35,-00.75,+00.05,+01.71,+2.7853,+1.2503
033000,+00.44,-00.73,-00.05,+01.68,+2.7864,+1.2528
033000,+00.52,-00.71,-00.02,+01.68,+2.7854,+1.2483
033000,+00.34,-00.79,+00.00,+01.80,+2.7868,+1.2509
033000,+00.40,-00.74,+00.02,+01.85,+2.7877,+1.2519

Quello che voglio fare è sottrarre un numero al secondo
carattere(numero) di ogni riga del file, in modo da ottenere questo
risultato:

0*2*3000,+00.44,-00.76,-00.03,+01.65,+2.7899,+1.2512
023000,+00.35,-00.75,+00.05,+01.71,+2.7853,+1.2503
023000,+00.44,-00.73,-00.05,+01.68,+2.7864,+1.2528
023000,+00.52,-00.71,-00.02,+01.68,+2.7854,+1.2483
023000,+00.34,-00.79,+00.00,+01.80,+2.7868,+1.2509
023000,+00.40,-00.74,+00.02,+01.85,+2.7877,+1.2519

Nel caso sopra quindi sottrarre 1 a 3.

Spero di essere stato abbastanza chiaro nella spiegazione e confido che
qualcuno di voi mi possa aiutare.
Grazie

Mauro

--
"Tutto ciò che è necessario per il trionfo del male, è che gli uomini
buoni non facciano niente."
                                                 Edmund Burke



--
"Tutto ciò che è necessario per il trionfo del male, è che gli uomini
buoni non facciano niente."
                                                 Edmund Burke

Other related posts: