[Linuxtrent] Re: manipolazione file

  • From: Guido Brugnara <gdo@xxxxxxxxx>
  • To: linuxtrent <linuxtrent@xxxxxxxxxxxxx>
  • Date: Tue, 2 Apr 2019 15:05:04 +0200 (CEST)

Un esempio in Perl: 

perl -e 'while(<>){s/^(.)(.)/$1.($2-1)/e; print}' << 'FILE' 
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 
FILE 

bye 
gdo


----- Il 2-apr-19, alle 13:51, mauro cavagna cavagna.mauro@xxxxxxxxx ha scritto:

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
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: