Modificare il testo (IV) con newLISP

nl-logo

Nell’ultimo post sull’argomento dicevo cose brutte sul migliore dei linguaggi di scripting disponibile nell’Universo Mondo.
Sbagliavo. Era tutta colpa mia! “E leggersi quel *bip* di manuale!” come si diceva una volta (frase che ho usato anch’io con chi potevo, ma solo quando non riuscivo a controllarmi). OK, era semplice, ecco qui la versione per i file provenienti da Excel (o equivalenti).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/usr/bin/newlisp

(set 'fname (main-args 2))
(if (= fname nil) (begin (println "errore") (exit 2)))
(if (not (file? fname)) (begin 
                (println "file non trovato") (exit 2)))
(set 'txt (read-file fname))

(replace {(\d)(,)(\d)} txt (string $1 "." $3)  0)
(replace {[;\t]} txt " "  0)
(println txt)
(exit)

L’errore che facevo era nella definizione della RE che  dev’essere delimitata con le parentesi graffe e non con le virgolette. Capita la stessa cosa di virgolette semplici e doppie per la shell.

E si può fare anche il test con tanti dati, come con Python?
Certo, ecco:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/usr/bin/newlisp

(set 'fname (main-args 2))
(if (= fname nil) (begin (println "errore") (exit 2)))
(if (not (file? fname)) (begin 
                (println "file non trovato") (exit 2)))
(set 'txt (read-file fname))

(replace {(\S)(u)(\S)} txt (string $1 "*" $3)  0)
(replace {[vw]} txt "#"  0)
(println txt)
(exit)

nl1nl2e
time
OK, ri-fatto 🙄

Posta un commento o usa questo indirizzo per il trackback.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

%d blogger hanno fatto clic su Mi Piace per questo: