4 votes

Interaction entre 'mdls' et 'mdimport' : question de bonne pratique

Ai-je raison de supposer que, pour assurer une requête dans le terminal telle que :

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

renvoie toujours la date de création réelle dudit fichier (à condition qu'il existe), je devrais toujours forcer Spotlight à importer cette information en premier via :

mdimport -r /var/log/system.log

?

Ce qui m'intéresse, c'est d'obtenir, de la part du terminal, cette donnée spécifique.

Cela semble être la conclusion basée sur un autre SOV post, d'autant plus que l'indexation Spotlight peut ignorer certains dossiers.

2voto

Michael Zhou Points 167

J'utiliserais stat au lieu de mdls sur un système utilisant le noyau 64 bits.

stat -f "%B" file

renvoie la date de création ou l'heure de naissance en secondes depuis l'époque (Unix/Epoch time). Une sortie lisible par l'homme peut être produite avec

stat -f "%SB" file

Vous pouvez également formater la sortie de cette commande en ajoutant l'option -t (voir man 3 strftime).

Sur un système utilisant le noyau 32bit, vous devez utiliser GetFileInfo .

GetFileInfo -d file

La sortie de GetFileInfo peut être converti en temps Epoch en faisant passer la sortie par la fonction date comando.

cdate=$(GetFileInfo -d file)
date -j -f "%m/%d/%Y %H:%M:%S" "$cdate" +%s

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X