Autor
|
Tema: como procesar archivos en linux (Leído 3,073 veces)
|
elvehe
Desconectado
Mensajes: 10
|
mi pregunta es: ¿Como leer archivos de bitacora del servidor que se en encuentran en /bitacora/graficas? El problemas es que son muchos archivos y necesito acer varios programas en el que debo de procesar cada linea.(por ejemplo las Ip en cierto rango sin repetirse). Entonces al ejecutar mi bash tarda demasiado. Si hay alguna forma de recorrer todos estos archivos mas rapido quisiera saberlo.
Por ejemplo uno de lo programas : buscar la cantidad de macs x dia sin repetirse que han accesado al servidor
|
|
« Última modificación: 21 Abril 2015, 22:00 pm por elvehe »
|
En línea
|
|
|
|
engel lex
|
exactamente cómo es el asunto?
que es lo que lo hace lento?
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
daryo
|
intenta con python u si quieres mas velocidad c/c++ u otro lenguaje
|
|
|
En línea
|
buenas
|
|
|
explorer
Desconectado
Mensajes: 102
Analista/Programador Perl
|
Si pones un ejemplo pequeño de lo que quieres hacer, te damos la solución
|
|
|
En línea
|
|
|
|
elvehe
Desconectado
Mensajes: 10
|
En este programa busco la cantidad de macs x dia sin repetirse que han accesado al servidor. el codigo es el siguiente (creo que es lento por la cantidad de archivos que leo linea por linea)
.... for dia in `ls /bitacora/graficas/salida.$horaConAno-$mes-* | cut -d"." -f2 | cut -d"-" -f3` do ` > archivoDeMacsDiferentes` cantMacsDife=0 for hora in `ls /bitacora/graficas/salida.*_$ano-$mes-$dia | cut -d"." -f2 | cut -d"_" -f1` do archivoDeBitacora="/bitacora/graficas/salida."$hora"_"$ano"-"$mes"-"$dia
while read line do mac=`echo $line | cut -d" " -f2` macEnArchivodifeDeMacs=`cat archivoDeMacsDiferentes | grep $mac` #echo $mac"="$macEnArchivodifeDeMacs "fecfa:"$hora if [ -z $macEnArchivodifeDeMacs ]; then #si no existe lo agrego cantMacsDife=`expr $cantMacsDife + 1 ` `echo $mac>>archivoDeMacsDiferentes` fi done<$archivoDeBitacora done echo "dia:"$dia",TotalPcDiferentes:"$cantMacsDife done
|
|
« Última modificación: 21 Abril 2015, 21:58 pm por elvehe »
|
En línea
|
|
|
|
explorer
Desconectado
Mensajes: 102
Analista/Programador Perl
|
¿Puedes publicar un ejemplo, unas pocas líneas, de cómo son los archivos de entrada?
Falsea los datos sensibles, como los de las MAC. Solo nos interesa el formato del archivo.
|
|
|
En línea
|
|
|
|
|
|