2016-04-22 15 views
0

Ich mag würde eine TXT-Datei zu nehmen und eine Art von Befehl grep zu tun und die Ausgabe in eine Datei in R. verwendet werden sparen Betrachten Ich habe folgendes aus einer Protokolldatei:Grep zwei Linien mit einzigartigem Stichwort

current_t: 178.027 

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37) 

rv: -8.421698E-06 

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37) 

NullReferenceException: Object reference not set to an instance of an object 
at ModelActions.Update() [0x00000] in <filename unknown>:0 

(Filename: Line: -1) 

current_t: 179.7662 

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37) 

rv: -8.413203E-06 

(Filename: C:/buildslave/unity/build/artifacts/generated/common/runtime/UnityEngineDebugBindings.gen.cpp Line: 37) 

Ich möchte in der Lage sein, jede Zeile zu nehmen, die current_t und rv hat. Vorzugsweise würde ich Ich mag es haben Ausgang als:

178.027 -8421698E-06 
179.7662 -8.413203E-06 

wo alle Zeiten in einer Spalte angeordnet sind, und RV in der folgenden Spalte platziert sind. Gibt es einen Grep-Befehl für mich, so etwas zu tun? Vielen Dank!

Antwort

2

awk zur Rettung!

$ awk -F: '$1~/current_t/{ct=$2} $1~/rv/{print ct, $2}' file   

178.027 -8.421698E-06 
179.7662 -8.413203E-06 

geht davon aus, dass Ihre Daten immer passende Paare haben.

+0

Wow, fantastisch, das hat den Trick! Was ist der beste Ort, um Dokumentation über diese Art von Sachen zu bekommen? – overboard182