2016-05-14 5 views
0

Ich erstelle ein Bash-Skript, in dem ich die Zeitstempel der Eingabedaten überprüfen und die Dateien nach ihrem Zeitstempel sortieren und schließlich zu einer großen Datendatei zusammenfügen muss. Zeitstempel können völlig zufällig sein, aber sie müssen für Jahr, Monat, Tag und Uhrzeit enthalten - Beispiele:Wie können Sie Skript-Eingabedateien nach ihrem Zeitstempel sortieren?

[2016-05-14 11:17:01] 0.000000 
[11:17:01 2016-05-14] 0.000000 
[2016 11:17:01 05-14] 0.000000 

Es wird mehr als 100 Einträge pro Sekunde sein, so habe ich eine Methode wählen, die Zeitstempel von zwei überprüfen wird Dateien und sortieren Sie sie entsprechend. Ich habe etwas sehr provisorisch erstellt - es hängt nur die Dateien:

for var in "[email protected]" 
do 
    cat "$var" >> $TMPDIR/input #$TMPDIR/input is the big file 
done 

ich nicht unbedingt genaue Befehle will, eine Idee, wie das zu tun, wäre auch perfekt.

+0

die Zeilen in '$ TMPDIR/input' sortiert werden können, sind sie in chronologischer nach der Sortierung durch die Zeitstempel vor jeder Zeile , –

+0

Lars Fischer Bemerkung ist gut. Mit 'sort' können die Zeilen alphabetisch sortiert werden. Auch die For-Schleife ist nicht notwendig. Sie sollten versuchen: 'sort" $ @ ">> $ TMPDIR/Eingang' –

+0

@Jayjargot ja, das klingt wie eine sehr gute Idee. es hat jedoch einen Haken - ich muss einen Schalter implementieren, um die Reihenfolge zu ändern, damit ich diesen verwenden kann, wenn das Zeitformat nicht geändert wird. Wenn Sie noch weitere Ideen haben, können Sie diese bitte als Antwort posten? –

Antwort

0

In Linux können Sie zugreifen/ändern/ändern Timestamp, was hilfreich sein sollte.

Hoffnung, dass Sie hilft Befehle, die Statistiken Datei pflegen finden :)

Verwandte Themen