¿Estoy en lo cierto al suponer que, para garantizar una consulta en la terminal como:
mdls -name kMDItemContentCreationDate /var/log/system.log
siempre devuelve la fecha de creación real de dicho archivo (siempre que exista), siempre debo forzar a Spotlight a importar esta información primero a través de:
mdimport -r /var/log/system.log
?
Estoy estrictamente interesado en obtener, de la Terminal, ese dato específico.
Esta parece ser la conclusión basada en otra publicación de SOV, especialmente porque la indexación de Spotlight puede ignorar algunas carpetas.
Lo usaría stat
en lugar de mdls
en un sistema que ejecuta el kernel de 64 bits.
stat -f "%B" file
devolverá la fecha de creación o la hora de nacimiento en segundos desde la época (Unix/Epoch time). Se puede producir una salida legible por humanos con
stat -f "%SB" file
También puede formatear la salida de este comando agregando la opción -t (ver man 3 strftime).
En un sistema que ejecuta el kernel de 32 bits, debe usar GetFileInfo
.
GetFileInfo -d file
La salida de GetFileInfo
se puede convertir a tiempo de Época ejecutando la salida a través del date
comando.
cdate=$(GetFileInfo -d file)
date -j -f "%m/%d/%Y %H:%M:%S" "$cdate" +%s
bmike
mddiagnose
sería más fácil que forzar una importación para cada consulta, pero supongo que si hace la consulta rara vez, podría no ser un gran impacto en el rendimiento.anciano anciano