Tengo un archivo de registro de script que se parece un poco a esto:
2012-9-16
Did something
Did 345 things
Script time: 244 seconds
2012-9-17
Did yet something
Did another thing 23 times
Script time: 352 seconds
2012-9-18
Did something special for 34 seconds 51 times
Did nothing at all
Script time: 122 seconds
Me gustaría encontrar el mayor valor de N
en las lineas Script time: N seconds
. Sin embargo, necesito mantener el contexto, así que simplemente elimine todas las líneas que no contengan Script time
En ellos no es una solución viable.
Actualmente, estoy grepping para líneas con Script time
, luego clasifíquelas para encontrar el valor más alto, luego vuelva al archivo original y busque ese valor. Sin embargo, si hay una manera más directa entonces me encantaría saber.
Esto es en Vim 7.3 en un reciente CentOS. Preferiría permanecer en VIM si es posible.
cat t | grep "Script time:" | sort -r | head -n 1
. ¡Como se mencionó en el OP, estoy buscando agregar contexto (la entrada de registro asociada) a eso!Tratar
awk
:Llamada
awk
envim
:fuente
Encontré la solución con esta función VIM:
fuente