Datei in Linux analysieren: nur Zeitstempel speichern

Datei in Linux analysieren: nur Zeitstempel speichern

Ich habe 31 Dateien in einem Verzeichnis. Das Dateiformat ist wie folgt:

TimeStamop      user-id
1471417712595   1936f35c-XXXX-XXXX-XXXX-49898523b8ea
1471417717238   e3153e8d-XXXX-XXXX-XXXX-7710089c77bb
1471417718730   4e470320-XXXX-XXXX-XXXX-29bc448f09a1
1471417719211   e8b6a6c0-XXXX-XXXX-XXXX-dd68d836fb31
1471417723775   cbc009c1-XXXX-XXXX-XXXX-88cda2b1b812
1471417723775   cbc009c1-XXXX-XXXX-XXXX-88cda2b1b812
1471417725790   c332eba7-XXXX-XXXX-XXXX-509c42a621d1
1471417725522   4712acf1-XXXX-XXXX-XXXX-11a24bcbe7c8
1471417601920   502bc0dd-XXXX-XXXX-XXXX-eff38b468461
1471417604615   8c6b2ef9-XXXX-XXXX-XXXX-9efb1223e383

Ich möchte nur Zeitstempelinformationen daraus und möchte alle Zeitstempel mithilfe eines Linux-Shell-Skripts in eine Datei schreiben. Die Gesamtdateigröße (31 Dateien) beträgt 4,5 GB. Ich möchte eine effiziente Methode für diese Aufgabe. Ich habe dies in Python getan. möchte es aber in einem Shell-Skript.

Antwort1

Mit awkaus dem Verzeichnis, das die Dateien enthält:

awk 'FNR>1 {print $1}' * >output.txt
  • FNR>1stimmt mit allen Datensätzen überein, deren Datensatznummer größer als 1 ist, d. h., dies dient dazu, den Header aus jeder Datei zu entfernen

  • Für diese Datensätze {print $1}wird nur das erste Feld gedruckt, das die Zeitstempel enthält

verwandte Informationen