___ interacción qstnhdr ___ 'mdls' y 'mdimport': pregunta de buenas prácticas ______ qstntxt ___

¿Tengo razón al suponer que, para garantizar una consulta en el terminal, como por ejemplo:

%pre%

siempre devuelve la fecha de creación real de dicho archivo (siempre que exista), siempre debería obligar a Spotlight a importar esta información primero a través de:

%pre%

?

Estoy estrictamente interesado en obtener, desde la Terminal, ese dato específico.

Esto parece ser la conclusión basada en otro Publicación de SOV, especialmente porque la indexación de Spotlight puede ignorar algunas carpetas.

    
______ answer224200 ___

Usaría %code% en lugar de %code% en un sistema que ejecuta el kernel de 64 bits.

%pre%

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

%pre%

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 %code% .

%pre%

La salida de %code% se puede convertir a la época mediante la ejecución de la salida a través del comando %code% .

%pre%     
___

4

¿Tengo razón al suponer que, para garantizar una consulta en el terminal, como por ejemplo:

mdls -name kMDItemContentCreationDate /var/log/system.log

siempre devuelve la fecha de creación real de dicho archivo (siempre que exista), siempre debería obligar a Spotlight a importar esta información primero a través de:

mdimport -r /var/log/system.log

?

Estoy estrictamente interesado en obtener, desde la Terminal, ese dato específico.

Esto parece ser la conclusión basada en otro Publicación de SOV, especialmente porque la indexación de Spotlight puede ignorar algunas carpetas.

    
pregunta elder elder 19.01.2016 - 20:33

1 respuesta

2

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 la época mediante la ejecución de la salida a través del comando date .

cdate=$(GetFileInfo -d file)
date -j -f "%m/%d/%Y %H:%M:%S" "$cdate" +%s
    
respondido por el fd0 20.01.2016 - 14:55

Lea otras preguntas en las etiquetas