[Tech] espressioni regolari

Dario Calamai dariocalamai@gmail.com
Mer 13 Giu 2007 17:25:02 CEST


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/]


ho quindi sempre una riga diversa dall'altra perchè contiene un numero
sequenziale (che ion verità è la data ma poco importa) e le righe che
mi servono hanno però sempre la parola "Login", in pu contengono
l'username e la password tra parentesi quadre e con la barra nel
mezzo.

io sono riuscito a fare questo:
$ grep "Login"  filelog|awk '{sub ("\/[^\/\]]*\]", "", $3); print $3}'
| cut -c 2- |sort|uniq|wc -l

che mi conta gli accessi unici, questo poi per fare dei grafici.
Secondo voi si può fare di meglio?

nb: x gli accessi rifiutati, accettati e totale è molto piu semplice,
basta un grep e il wc -l

grazie! :)
  dario
-- 
dario calamai
http://www.linkedin.com/in/dariocalamai


Maggiori informazioni sulla lista flug-tech