Hilfe bei der Analyse einer Protokolldatei

Hilfe bei der Analyse einer Protokolldatei

Wie sed 's/\[//'funktioniert es, wenn man Protokolldateien auf Zeitstempelfelder analysiert? Ich habe online eine Lösung gefunden und diese Zeile gesehen "$(head-1 "$1" | awk '{print $4}'| sed 's/\[//')". Kann mir bitte jemand die Funktionsweise der einzelnen erklären.

Beispielprotokolle,

64.12.96.106 - - [13/Sep/2003:18:02:54 -0600] ... 216.93.167.154 - - [15/Sep/2003:16:30:29 -0600]

Antwort1

Da Sie keine spezifischen Protokolle bereitgestellt haben, die Sie analysieren, finden Sie hier die Funktionalitäten der einzelnen Vorgänge.

  • head -1 "$1": Druckt die erste Zeile der DATEI, die als Argument übergeben wird$1

  • awk '{print $4}': Drucke die vierte Spalte aus der Ausgabe vonhead -1 "$1"

  • sed 's/\[//'[: aus der endgültigen Ausgabe entfernen

Beispiel für sed,

rahul@rahul$ sed 's+\[++' <<< "rah[ul"
rahul@rahul$ rahul

# In your case 

rahul@rahul$ sed 's+\[++' <<< "[13/Sep/2003:18:02:54 -0600]"
rahul@rahul$ 13/Sep/2003:18:02:54 -0600]

# for hello/world

rahul@rahul$ sed 's+\/++' <<< "hello/world"
rahul@rahul$ helloworld

verwandte Informationen