Gehe ich richtig davon aus, um eine Abfrage im Terminal sicherzustellen wie:
mdls -name kMDItemContentCreationDate /var/log/system.log
immer das tatsächliche Erstellungsdatum dieser Datei zurückgibt (sofern vorhanden), sollte ich Spotlight immer dazu zwingen, diese Informationen zuerst zu importieren über:
mdimport -r /var/log/system.log
?
Ich bin ausschließlich daran interessiert, dieses spezifische Datenelement vom Terminal zu erhalten.
Dies scheint die Schlussfolgerung basierend auf einem anderen SOV-Post zu sein , zumal die Spotlight-Indizierung einige Ordner möglicherweise ignoriert.
Ich würde stat
stattdessen mdls
auf einem System verwenden, auf dem der 64-Bit-Kernel ausgeführt wird.
stat -f "%B" file
gibt das Erstellungsdatum oder die Geburtszeit in Sekunden seit Epoche (Unix/Epoch-Zeit) zurück. Eine menschenlesbare Ausgabe kann mit erzeugt werden
stat -f "%SB" file
Sie können die Ausgabe dieses Befehls auch formatieren, indem Sie die Option -t hinzufügen (siehe man 3 strftime).
Auf einem System mit 32-Bit-Kernel müssen Sie GetFileInfo
.
GetFileInfo -d file
Die Ausgabe von GetFileInfo
kann in Epochenzeit konvertiert werden, indem die Ausgabe über den date
Befehl ausgeführt wird.
cdate=$(GetFileInfo -d file)
date -j -f "%m/%d/%Y %H:%M:%S" "$cdate" +%s
Fahrrad
mddiagnose
Vielleicht wäre es einfacher, Spotlight mit zu reparieren , als einen Import für jede Abfrage zu erzwingen - aber ich denke, wenn Sie die Abfrage selten durchführen, ist dies möglicherweise kein großer Leistungseinbruch.älterer älterer