Ich habe eine Skript-Protokolldatei, die ungefähr so aussieht:
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
Ich würde gerne den größten Wert N
in den Zeilen finden Script time: N seconds
. Ich muss jedoch den Kontext beibehalten, daher Script time
ist es keine praktikable Lösung , einfach alle Zeilen zu entfernen, die nicht darin enthalten sind.
Derzeit greife ich nach Zeilen mit Script time
, sortiere diese, um den höchsten Wert zu finden, gehe dann zur Originaldatei zurück und suche nach diesem Wert. Wenn es jedoch einen einfacheren Weg gibt, würde ich es gerne wissen.
Dies ist auf Vim 7.3 auf einem aktuellen CentOS. Ich würde es vorziehen, wenn möglich in VIM zu bleiben.
cat t | grep "Script time:" | sort -r | head -n 1
. Wie im OP erwähnt, möchte ich dem Kontext (den zugehörigen Protokolleintrag) hinzufügen!Versuchen Sie
awk
:Rufen Sie
awk
anvim
:quelle
Ich habe die Lösung mit dieser VIM-Funktion gefunden:
quelle