[Linuxtrent] Re: manipolazione file

  • From: Lele Gaifax <lele@xxxxxxxxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Tue, 02 Apr 2019 14:08:17 +0200

mauro cavagna <cavagna.mauro@xxxxxxxxx> writes:

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

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

Nel caso sopra quindi sottrarre 1 a 3.

Un modo è con un minuscolo script Python:

    with open('p.txt') as f:
        for line in f.readlines():
            newline = line[:1] + chr(ord(line[1]) - 1) + line[2:].rstrip()
            print(newline)

che apre il file, legge riga per riga, calcola la nuova "versione" mantenendo
inalterate le parti precedenti e seguenti al carattere che vuoi cambiare, poi
la stampa su stdout.

ciao, lele.
-- 
nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia.
lele@xxxxxxxxxxxxxxx  |                 -- Fortunato Depero, 1929.
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: