2016-08-02 33 views
0

Im Folgenden sind einige der Dateien, die im Verzeichnis verfügbar sind Und Epoche Zeit ist auch ein Teil der Datei zwischen # SYMBOLEListe Dateien, die von ihnen nach dem Unix-Zeitstempel in Dateinamen Sortierung

A#1444846033#1.txt 
A#1444846037#1.txt 
A#1444846041#1.txt 
A#1444846057#1.txt 
A#1444846061#1.txt 
A#1444846045#1.txt 
A#1444846065#1.txt 
A#1444846049#1.txt 
A#1444846069#1.txt 
A#1444846053#1.txt 

Ich möchte um die obigen Dateien mit der Epochzeit zu sortieren, während sie mit dem Befehl ls oder ll aufgelistet werden Welche Flags werden bei der Verwendung von ll verwendet?

+0

Die Antwort hängt von den Symbolen außerhalb des Zeitstempels ab. Haben Sie immer 'A #' vor und '# 1.txt' nachher? – GMichael

+0

up.v.000945: losa.01.tns.17.elm.0 # 780200700103 # 1444852273 # 1.bin: Auf diese Weise heißen die Dateien – user2256825

+0

Sie haben keine konstanten Teile der Namen markiert. – GMichael

Antwort

0

Bitte versuchen Sie es

ls -1 | sort -t '#' -k 2 

ls -1 Dateiliste in einer Spalte erzeugt. Die folgende sort übernimmt diese Liste und sortiert sie nach dem zweiten Feld (-k 2) mit dem Symbol (-t '#') als Feldtrennzeichen.

Da Ihr Dateinamensmuster weder spezielle noch neue Zeilensymbole enthält, sollte es kein Problem geben, bis eine sehr große Anzahl von Dateien im selben Verzeichnis abgelegt ist.

+0

Während dies ein wertvoller Hinweis sein könnte, um das Problem zu lösen, eine Antwort braucht wirklich ein bisschen mehr Detail als das. Bitte [Bearbeiten] zu erklären, wie dies das Problem lösen wird. Insbesondere sollten Sie auf die Einschränkungen dieses Ansatzes hinweisen, hauptsächlich in Bezug auf Zeilenumbrüche in Dateinamen, aber auch auf den Dezimal-Rollover (obwohl es eine lange Zeit bis zum nächsten ist, erinnere ich mich an 10 Milliarden seit der Unix-Epoche). Alternativ können Sie dies auch als Kommentar schreiben. –