Nicht verwenden ls
, dies ist ein Job für stat
:
stat -c '%y' filename
-c
Lassen Sie uns hier eine spezifische Ausgabe erhalten %y
wird der letzte Änderungszeitpunkt der Datei in lesbarem Format angezeigt. So ermitteln Sie die Zeit in Sekunden seit der Verwendung von "Epoch" %Y
:
stat -c '%Y' filename
Wenn Sie den Dateinamen auch möchten, verwenden Sie %n
:
stat -c '%y : %n' filename
stat -c '%Y : %n' filename
Stellen Sie die Formatangaben entsprechend Ihren Anforderungen ein. Überprüfen Sie man stat
.
Beispiel:
% stat -c '%y' foobar.txt
2016-07-26 12:15:16.897284828 +0600
% stat -c '%Y' foobar.txt
1469513716
% stat -c '%y : %n' foobar.txt
2016-07-26 12:15:16.897284828 +0600 : foobar.txt
% stat -c '%Y : %n' foobar.txt
1469513716 : foobar.txt
Wenn Sie die Ausgabe wie möchten Tue Jul 26 15:20:59 BST 2016
, verwenden Sie die Epochenzeit als Eingabe für date
:
% date -d "@$(stat -c '%Y' a.out)" '+%a %b %d %T %Z %Y'
Tue Jul 26 12:15:21 BDT 2016
% date -d "@$(stat -c '%Y' a.out)" '+%c'
Tue 26 Jul 2016 12:15:21 PM BDT
% date -d "@$(stat -c '%Y' a.out)"
Tue Jul 26 12:15:21 BDT 2016
Überprüfen Sie date
die Formatangaben, um Ihren Anforderungen zu entsprechen. Siehe man date
auch
ls
Implementierung systemübergreifend inkonsistent ist und daher niemals für irgendeine Art von Automatisierung verwendet werden sollte. Verwenden Sie stattdessen Befehle wiestat
und,find
wenn Sie Skripts schreiben.Ich habe es versucht
Liegt das Datum jedoch unter 10, fehlt die Uhrzeit. Dies liegt an dem zusätzlichen Platz vor dem Datum, wenn er kleiner als 10 ist. Versuchen Sie Folgendes:
Der Befehl awk gibt die durch alle Leerzeichen (-F '') getrennten Felder aus. Hoffe, es funktioniert. Ich weiß, dass dies nicht die ursprüngliche Frage beantwortet, sondern nur eine Erläuterung des Befehls ls für Datum und Uhrzeit. Wenn Sie "ubuntu get date and time of file" von Google aufrufen, wird diese Frage oben aufgelistet. Nach dieser Frage habe ich gesucht, da ich das Jahr auch nicht benötige. Für Jahr, Datum und Uhrzeit können Sie einen der folgenden Befehle ausführen. % m gibt die Monatszahl aus. % b gibt die Abkürzung für den Monat aus: Löschen Sie% H:% M, wenn Sie Stunde und Minute nicht benötigen. % -d gibt für den Tag des Monats keine führende Null aus.
quelle