Ohh, da hänge ich fest

Ohh, da hänge ich fest

Ich arbeite gerade an einem Projekt. Das Skript, das ich erstelle, benötigt zunächst zwei Argumente: eines ist ein eindeutiger Bezeichner und das andere ist für eine Protokolldatei (beides Zeichenfolgen). Jetzt habe ich den ersten Teil erledigt, nämlich die Analyse des eindeutigen Bezeichners. Aber der zweite Teil ist die Analyse eines bestimmten Zeichenfolgenabschnitts, der eine zufällig generierte Zeichenfolge aus Zahlen und Buchstaben ist.

Ich verwende eine awkAnweisung, um diese zufällige Zeichenfolge zu erhalten, und habe überprüft, dass mein Ausdruck in Rubular korrekt ist. Aber wenn ich versuche, den Code mit mehr zu testen, wird nichts ausgegeben. Folgendes habe ich in die Befehlszeile eingegeben:

awk '/\s=\s[a-zA-Z0-9-]+/ {print }' ~/jlog/server.log | more

Folgendes steht in meinem Skript:

for j in $(cat ~/jlog/"$2"); do awk '/'"$1"'/\s=\s[a-zA-Z0-9-]+/ {print}'

Und hier ein Teil des Protokolls, das ich durchsehe:

2014-06-17 15:34:52,406 INFO  [random.random.xxx.message.Random] Processed instance (1.2.840.113619.2.284.3.2013961368.890.1402186239.15
5/1.2.840.113619.2.80.1944071037.22604.1402323463.136) from [email protected] to Random_AE.  AssociationID = 9eddb1b0-368e-4fb9-a684-44cc14be389c

Ich suche speziell nach dem Zufallscode nach der Association ID. Gibt es Vorschläge, wie ich die Ergebnisse anzeigen kann? Mir gehen die Ideen aus.

Antwort1

Bitte versuche

awk '$3=="INFO" && $(NF-2)=="AssociationID" && $(NF-1)=="=" { print $NF }' ~/jlog/server.log

Indem Sie den Namen der Protokolldatei direkt an übergeben, awkkönnen Sie auch die Verwendung von forund vermeiden cat.

verwandte Informationen