Ich habe eine Bash Frage (bei der Verwendung von awk). Ich bin jede einzelne Instanz der ersten und der fünften Spalte in einer Text-Datei zu extrahieren und sie in eine neue Datei mit dem folgenden Code kochend,Umwandlung von Datum zu Epoche
cut -f4 test170201.rawtxt | awk '/stream_0/ { print $1, $5 }' > testLogFile.txt
Dieser Teil der Datei ist (test170201.rawtxt) Ich bin Extrahieren die Daten aus, Spalten Timestamp
und Loss
,
Timestamp Stream Status Seq Loss Bytes Delay
17/02/01.10:58:25.212577 stream_0 OK 80281 0 1000 38473
17/02/01.10:58:25.213401 stream_0 OK 80282 0 1000 38472
17/02/01.10:58:25.215560 stream_0 OK 80283 0 1000 38473
17/02/01.10:58:25.216645 stream_0 OK 80284 0 1000 38472
Dies ist das Ergebnis bin ich
17/02/01.10:58:25.212577 0
17/02/01.10:58:25.213401 0
17/02/01.10:58:25.215560 0
17/02/01.10:58:25.216645 0
jedoch in testLogFile.txt bekommen, möchte ich die 01.230.in der obigen Datei in Epoche geschrieben werden. Gibt es eine einfache Möglichkeit, den Code zu ändern, den ich bereits dafür habe?
Ich habe versucht, Ihre Lösung, aber ich erhielt den folgenden Fehler Versuchen Sie 'date --help 'für weitere Informationen. Datum: ungültige Option - 'j'. Irgendeine Idee, was das Problem sein könnte? – user3325598
Wie in den Kommentaren angegeben: * GNU-Datum benötigt möglicherweise andere Flags * Ich habe nur BSD, also kann die GNU-Version nicht testen. Das Flag '-j' weist POSIX' date' an, das Systemdatum nicht zu setzen. Ich denke du kannst einfach für [GNU date] entfernen (http://man7.org/linux/man-pages/man1/date.1.html). – dawg
Ich habe das Flag -j entfernt, aber einen neuen Fehler erhalten, Datum: Extra Operand '+% s ' – user3325598