[PLUTO-ildp] Winmodems-and-Linux HOWTO

Ferdinando zappagalattica a inwind.it
Sab 16 Ago 2003 19:55:46 CEST


* Saturday 16 August 2003, alle 16:19, pctips scrive:
> > italiana e charset iso-8859-1 i caratteri accentati vengono riconosciuti.
> 
> Su utf-8 non mi funzionava : su RedHat 8.0 riscontravo qualche errorino.

A parte che l'utf forse non è la scelta giusta, comunque in xml le
sostituzioni, nonostante tutto, è meglio farle, a me è capitato un
documento che per essere realizzato andava poi compilato con un tool
suo e quindi le conversioni erano d'obbligo. A questo punto,
personalmente le sostituzioni le faccio quasi sempre.
 
> > > Un mio amico ha scritto uno script di shell che fa la sostituzione delle
> > > accentate nei file, ma non l'ho ancora provato.
> >
> > Beh non serve uno script così complesso, basta anche solo l'uso di script
> > già esistenti come sed.
> 
> Basta anche la funzione sostituisci di un editor di testo :)

Si, però, per esempio io sto aiutando a relaizzare l'advanced bash
scripting guide e il traduttore prnede e scrive html con OmegaT, io mi
sono fatto uno script che rimuove dei caratteri spuri, applica le
sostituzioni per le accentate e poi lo converte in testo passandolo a
lynx.

Comunque, per le sostituzioni "al volo", che modificano lo stesso file
passato in argomento (quindi molto più semplice) ho scritto questo, se
a qualcuno serve lo allego, è in Python, come dicevo, semplice e le
sostituzioni le potete modificare molto facilmente, anche se non
conoscete il linguaggio. Lanciatelo "puro", senza argomenti e verranno
visualizzate le istruzioni per l'uso (./sost.py).

In allegato: sost.py

Ciao
Ferdinando
-------------- parte successiva --------------
#! /usr/bin/env python

import os,sys

def Sosthtml(file_lettura):
    """ Funzione prendendo un file come argomento,
        sostituisce le occorrenze di '', 'chè' e 'E'' e
        infine, sostituisce il file stesso. 
	Puoi anche estendere le sostituzioni delle
        occorrenze che seguono, semplicemente decommentando"""
    fi = open(file_lettura, 'r')
    file_scrittura = "tmp" + file_lettura
    fo = open(file_scrittura, "w")
    for riga in fi.readlines():
            riga = riga.replace("chè","ché")\
    .replace("","").replace("chè","ché")\
    .replace("ché","ché").replace("E'", "È")\
    .replace('ì',"ì").replace("è","è")\
    .replace('é',"é").replace('ò',"ò")\
    .replace('à',"à").replace('ù',"ù")
            fo.write(riga)
    fi.close()
    fo.close()
    os.rename(file_scrittura, file_lettura)

if len(sys.argv) < 2:
    print "\n    Uso:    %s <file>" % sys.argv[0]
    print """
    Al file in argomento verranno applicate queste
    sostituzioni ed altre, estendibili:

          --->  
    chè  --->  ché
    E'          --->  È \n"""
else:
    Sosthtml(sys.argv[1])
    print "Eseguita la sostituzione nel file: ", sys.argv[1]


Maggiori informazioni sulla lista pluto-ildp