[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