Listen Sie den Zeitstempel der Dateien im Befehl "find" auf

26

Wenn ich bash verwende $ find ./ -name "*.sqlite", werden alle SQLite-Dateien im aktuellen Verzeichnis aufgelistet. Ich möchte auch die geänderte Zeit der Dateien sehen. Kann mir jemand helfen?

JW
quelle

Antworten:

34

Sie können findden folgenden Ausdruck ergänzen :

-printf '%Tc %p\n'

um so etwas zu sehen

Sun Aug 14 06:29:38 2011 ./.nx/config/host.nxs

oder -printf '%TD %TT %p\n'für

08/14/11 06:29:38.2184481010 ./.nx/config/host.nxs

oder -printf '%T+ %p\n'wenn Sie haben GNU find, um zu sehen

2011-08-14+06:29:38.2184481010 ./.nx/config/host.nxs

Dieser letzte, falls verfügbar, ist auch für die Zeitsortierung nützlich.

Siehe Handbuchseite von find, wo es darum geht printf.

Enzotib
quelle
-printffunktioniert nicht in OS-X. Gibt es ein Äquivalent zu diesem Befehl, das für OS-X funktioniert?
WanderingMind
@WanderingMind: In OS-X schlage ich vor, MacPorts zu installieren , das viele UNIX-Anwendungen bietet, insbesondere GNU-Tools wie GNU find.
Enzotib
22

Ein schneller Hack, um mehr Details über die gefundenen Dateien zu erhalten, findist die Verwendung der -lsAusgabeoption.

find ./ -name "*.sqlite" -ls

Für genauere Ergebnisse ist die Antwort von enzotib genau richtig .

Caleb
quelle
Ich habe zugestimmt, aber dies zeigt das Datum nicht richtig an, so ist es beispielsweise schwierig, das "neueste" zu finden.
lpapp
Dies ist der einzige Ort , wo ich kam -Ls Option zu wissen , was ich schlecht war , um
Atul
-1

Verwenden Sie den folgenden Befehl, um eine Liste der Dateien mit Zeitstempel abzurufen.

$ find . -type f | xargs ls -l --time-style="+%d-%m-%Y" 
Prashant Sawant
quelle
-3

Das funktioniert bei mir:

$ find ./ -name "*.sqlite" -ls
Iwaniljew
quelle
4
Dies scheint ein vollständiges Duplikat von @ Calebs Antwort zu sein.
Chris Down