Siguiendo un registro awked
Frecuentes
Visto 70 veces
1
Esto es lo que me molesta:
Tengo un archivo de registro, escrito en un formato específico, como:
[DEBUG 7] 2012-06-12 09:26:37.847 [MOD: UNK/0 ] [FILE:ModuleManager.cpp:541] [FUNC: ModuleManager::handleStatusRequestMessage] [MSG:Got request for unsupported ALLOCATION_STATUS ]
por lo que los bloques están bastante bien separados. Estoy viendo este registro a través de una cola, en una pantalla de terminal de 80x25 y se ve horrible (no, no puedo cambiar la pantalla, es un dispositivo integrado).
¿Me pueden ayudar a crear una combinación de cola/awk (o similar) para lograr algo como:
2012-06-12 09:26:37.847 Got request for unsupported ALLOCATION_STATUS
or
2012-06-12 09:26:37.847 ModuleManager::handleStatusRequestMessage - Got request for unsupported ALLOCATION_STATUS
or
2012-06-12 09:26:37.847 ModuleManager.cpp:541 ModuleManager::handleStatusRequestMessage - Got request for unsupported ALLOCATION_STATUS
de la larga línea de arriba?
Muchas Gracias
2 Respuestas
2
$ awk -F '[][]' '{print $3, $10}' logfile
2012-06-12 09:26:37.847 MSG:Got request for unsupported ALLOCATION_STATUS
$ awk -F '[][]' '{print $3, $8, $10}' logfile
2012-06-12 09:26:37.847 FUNC: ModuleManager::handleStatusRequestMessage MSG:Got request for unsupported ALLOCATION_STATUS
$ awk -F '[][]' '{print $3, $6, $8, $10}' logfile
2012-06-12 09:26:37.847 FILE:ModuleManager.cpp:541 FUNC: ModuleManager::handleStatusRequestMessage MSG:Got request for unsupported ALLOCATION_STATUS
or
$ awk -F '[][]|MOD:|FUNC:|FILE:|MSG:' '{print $3, $8, $11 " - " $14}' inputfile
2012-06-12 09:26:37.847 ModuleManager.cpp:541 ModuleManager::handleStatusRequestMessage - Got request for unsupported ALLOCATION_STATUS
Respondido el 12 de junio de 12 a las 11:06
combinado con la cola es perfecto: tail -f log.txt | awk -F '[][]' '{print $3, $10}'
- Ferenc Deak
1
Yo sugeriría sed
para un formato radical aniquilar:
tailf -f logfile | sed -e 's/\[MSG:\([^]]*\)\]/\1/' -e 's/\[[^]]*\] *//g'
Respondido el 12 de junio de 12 a las 10:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas logging awk or haz tu propia pregunta.
No cambies tu pantalla. ¡En su lugar, conviértase en un defensor del texto de 80 columnas! Salida, registros, código fuente, todo en 80 columnas. Dile a tus amigos; no es solo una reliquia de los años 70. ¡Es una gran idea tanto para el futuro como para el pasado! - William Pursell
@WilliamPursell: Dos palabras: "monitores grandes". - Dennis Williamson
@Dennis Monitores grandes en los que puedo mostrar 6-8 archivos uno al lado del otro, ¡a menos que uno de ellos use 120 columnas por línea! - William Pursell
@Dennis Cuatro palabras: "Malos ojos, fuentes grandes" - William Pursell