[Tech] espressioni regolari

Franco Bagnoli franco.bagnoli@unifi.it
Mer 13 Giu 2007 18:55:15 CEST


---------- Forwarded message ----------
From: Franco Bagnoli <franco.bagnoli@gmail.com>
Date: Jun 13, 2007 6:54 PM
Subject: Re: [Tech] espressioni regolari
To: Discussioni tecniche <tech@firenze.linux.it>


On 6/13/07, Dario Calamai <dariocalamai@gmail.com> wrote:
> Ciao a tutti!
>
> premetto che non ne so molto di espressioni regolari...
> mi sono ritrovato a fare una cosa apparentemente semplice ma mi sembra
> di aver trovato una soluzione non tanto bella.
>
> ipotiziamo che i miei dati in un file di log siano (in verità è il
> file di log di freeradius):
>
> Login 1 [utente1/pass1]
> Login 2 [utente2/]
> Pippo 3 [utente3/pass3]
> Reload 4
> Login 6 [utente3/pass3]
> Ciao 7 [utente1/]

ma un po' di sano perl?

while (<>) {
  /^Login.*\[(\w+)/;
  $count{$1}++;
}
foreach (keys %count) {
  print "l'utente $_ è entrato $count{$_} volte\n";
}

(non l'ho provata, casomai cambia l'espressione regolare).


--
Franco Bagnoli <franco.bagnoli@unifi.it> <franco.bagnoli@gmail.com>
Lab. Fisica dei Sistemi Complessi, Dip. Energetica & CSDC
Universita' di Firenze, via S. Marta, 3 I-50139 Firenze, Italy.
Tel. +39 0554796592, fax: +39 0554796342


-- 
Franco Bagnoli <franco.bagnoli@unifi.it> <franco.bagnoli@gmail.com>
Lab. Fisica dei Sistemi Complessi, Dip. Energetica & CSDC
Universita' di Firenze, via S. Marta, 3 I-50139 Firenze, Italy.
Tel. +39 0554796592, fax: +39 0554796342



Maggiori informazioni sulla lista flug-tech