Original:
23.01.2011 10:42 ETWAS 2007.12.20.avi 26.06.2009 ETWAS 2009.06.25.avi 12.02.2010 ETWAS 2010.02.11.avi 29.01.2011 09:17 ETWAS 2011.01.27.avi 11.02.2011 20:06 ETWAS 2011.02.10.avi 27. Februar 2011 23:05 ETWAS 2011.02.24.avi
Ausgabe:
27. Februar 2011 23:05 ETWAS 2011.02.24.avi 11.02.2011 20:06 ETWAS 2011.02.10.avi 29.01.2011 09:17 ETWAS 2011.01.27.avi 23.01.2011 10:42 ETWAS 2007.12.20.avi 12.02.2010 ETWAS 2010.02.11.avi 26.06.2009 ETWAS 2009.06.25.avi
Ich habe die obige Liste (Original) erstellt mit:
ls -A -lR | grep "^-" | sed "s/.\{43\}/&\n/" | grep -v "^-" | while read ONELINE; do if echo $ONELINE | cut -d " " -f3 | grep -o '[0-9][0-9]:[0-9][0-9]' > /dev/null 2>&1; then echo $ONELINE | sed "s/.\{7\}/&$(date +%Y) /"; else echo $ONELINE; fi; done
Wie kann ich die Ausgabe erhalten, bei der die neueste Datei oben steht?
Antworten:
Bei den meisten Unices
ls
gibt es eine-t
Option. Von derman
Seite meiner Debian-Box:Versuchen Sie den folgenden Befehl:
$ ls -lt
quelle
Handelt es sich um eine Textdatei, die Sie sortieren möchten, oder versuchen Sie, eine Verzeichnisliste nach Datum anzuzeigen? Für letzteres benutzen Sie die
-t
Flagge zuls
. Für erstere siehe insbesondere das-M
Flag to GNU sort, das nach dreistelligen Monatsnamen-Abkürzungen sortiert. Der folgende Befehl sortiert nach der 3., 1., 2. und 4. Spalte und behandelt den zweiten Sortierschlüssel als Monatsnamen.Denken Sie daran, Datumsangaben im japanischen / ISO-Stil immer in der Reihenfolge JJJJ-MM-TT-HH-MM-SS (dh höchstwertige erste, konstante Spaltenbreite) zu verwenden. Auf diese Weise ist die Sortierung nach Datum identisch mit einer lexikografischen Sortierung.
quelle
2018 5 26
funktioniert genauso gut wie2018 05 26
(solange Sie nicht durch Markups gehen, die aufeinanderfolgende Leerzeichen zusammenführen ...), was nicht gut funktioniert, ist2018 5 26
.Ich bin nicht sicher, ob die Funktionalität im
ls
Befehl enthalten war, als die ursprüngliche Frage gestellt wurde, aber jetzt können Sie die Option verwenden--full-time
.z.B,
wird mit der ältesten Zeit unten sortiert; oder wenn Sie verwenden:
dann wird die Reihenfolge umgekehrt.
quelle
-t
Option beantwortet diese Frage vollständig.--full-time
ist nicht wirklich relevant.ls -t
gibt Ihnen weder den Modus und den Eigentümer der Dateien, den Hostnamen und die Betriebssystemversion noch den Preis für Tee in China an.ls -t
zeigt nicht einmal das Änderungsdatum an. Bei der Frage geht es jedoch nicht um die Anzeige von Dateiinformationen, sondern um das Sortieren von Dateien nach Änderungsdatum. Sie tragen nicht zur Beantwortung der Frage bei. Sie fügen nützliche Zusatzinformationen hinzu. Wenn Sie 50 Reputationspunkte erhalten , können Sie diese Art von Informationen als Kommentar veröffentlichen .rekursiv (
R
) und pause (|more
)quelle