interazione 'mdls' e 'mdimport': domanda di buone pratiche

4

Sono corretto per presupporre che, al fine di garantire una query nel terminale come:

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

restituisce sempre la data di creazione effettiva di detto file (a condizione che esista), dovrei sempre forzare Spotlight ad importare prima queste informazioni tramite:

mdimport -r /var/log/system.log

Mi interessa strettamente ottenere dal Terminal un dato specifico.

Questa sembra essere la conclusione basata su altro Post SOV, soprattutto perché l'indicizzazione di Spotlight può ignorare alcune cartelle.

    
posta elder elder 19.01.2016 - 20:33
fonte

1 risposta

2

Vorrei usare stat invece di mdls su un sistema che esegue il kernel a 64 bit.

stat -f "%B" file

restituirà la data di creazione o la data di nascita in secondi da epoca (tempo Unix / Epoch).

può produrre un output leggibile dall'uomo
stat -f "%SB" file

Puoi anche formattare l'output di questo comando aggiungendo l'opzione -t (vedi man 3 strftime).

Su un sistema che esegue il kernel a 32 bit, devi usare GetFileInfo .

GetFileInfo -d file

L'output di GetFileInfo può essere convertito in Epoch time eseguendo l'output tramite il comando date .

cdate=$(GetFileInfo -d file)
date -j -f "%m/%d/%Y %H:%M:%S" "$cdate" +%s
    
risposta data 20.01.2016 - 14:55
fonte

Leggi altre domande sui tag