[PLUTO-help] Uso di perl da riga di comando
Nicola Ruggero
nicola a nxnt.org
Dom 10 Giu 2007 17:05:53 CEST
Ciao,
sto modificando uno script in bash che mi elabora le statistiche di ciascun
file contenente le traduzioni di KDE. In pratica questo script per ciascun
file .po estrae il nome dell'ultimo traduttore, i messaggi tradotti/non
tradotti e la data dell'ultima modifica in un file temporaneo.
Successivamente un'altro script inserisce il contenuto del file temporaneo
(ovvero le statistiche di traduzione) in una banca dati mysql.
Per evitare SQL injections volevo controllare i campi data ultima modifica e
nome traduttore in modo che non contenessero istruzioni SQL.
Pensavo di fare un match di questi 2 campi con una espressione regolare, se
passa il controllo la stringa viene scritta nel file temporaneo così com'è
altrimenti la stringa viene annullata ($stringa="") e poi viene scritta.
Pensavo di usare case ma non gestisce bene le regexp, pensavo allora di usare
perl.
La struttura a grandi linee è questa:
#!/bin/sh
for namePOT in cartella_file_pot/*.pot
do
namePO= ... # estrazione con sed grep ecc. del nomefile.po
DATETIME= # estrazione con grep sed ecc. della data di modifica nel formato
YYYY-MM-DD HH-MM
LASTTRANSLATOR= # estrazione con sed grep ecc. del nome traduttore
echo -n "${DATETIME}-00:${LASTTRANSLATOR}:" >> tmpfile ;
done
Come faccio a passare a perl le variabili $DATETIME e $LASTTRANSLATOR in modo
che le confronti con un'espressione regolare tipo: [0-9]{4,4}-((0[13578]|10|
12)-(0[1-9]|[1-2][0-9]|3[0-1])|02-(0[1-9]|[1-2][0-9])|(0[469]|11)-(0[1-9]|
[1-2][0-9]|30)) ([1-9]{1,1}|[0-1][0-9]|[1-2][0-3])-[0-5][0-9] ???
Ho provato con:
echo $DATETIME | perl -e 'if ($1 =~ /espressione_regolare/){print $0}'
ma mi dice:
bash: echo: write error: Broken pipe
Qualcuno mi può aiutare o suggerire qualche pagina della documentazione?
grazie, ciao!!
Nicola
--
Linux Registered User #333942 http://counter.li.org
Comunque, se vuoi saperne di piu', ora dovrai operare una scelta...
"Pillola Blu": fine della storia, domani ti sveglierai, crederai a cio'
che vorrai, ma sul tuo PC rimarra' ancora Windows XP...
"Pillola Rossa": resti nel paese delle meraviglie, installerai Linux, e
finalmente scoprirai quant'e' profonda la tana del bianconiglio...
(By PLUTO Mailing list)
More information about the pluto-help
mailing list