La tabla a continuación muestra el atributo de metadatos que corresponde a la columna de vista de lista de la aplicación Finder. El atributo de metadatos se puede pasar al comando mdls
para obtener la fecha apropiada. Sin embargo, la fecha no es con respecto a la ubicación actual.
Columna de Vista de Lista Finder
Atributo de Metadatos
Fecha de Agregado
kMDItemDateAdded
Fecha de Creación
kMDItemContentCreationDate
Fecha de Última Apertura
kMDItemLastUsedDate
Fecha de Modificación
kMDItemContentModificationDate
La función a continuación muestra las fechas de la aplicación Finder para nombres de archivos dados como entrada. Las fechas se convierten a la ubicación predeterminada de la computadora. Esta función fue probada en bash
y zsh
.
dates () {
local d=() e=0 f="%+" i n x
d+=("Fecha de Agregado=kMDItemDateAdded")
d+=("Fecha de Creación=kMDItemContentCreationDate")
d+=("Fecha de Última Apertura=kMDItemLastUsedDate")
d+=("Fecha de Modificación=kMDItemContentModificationDate")
for n; do
if [[ -e "$n" ]]; then
printf "Nombre: %s\n" "$n"
for i in "${d[@]}"; do
x="$(mdls -name "${i#*=}" "$n")"
if [[ $x == *\(null\) ]]; then
x="--"
else
x="$(date -jf "%Y-%m-%d %H:%M:%S %z" "${x#* = }" +"$f")"
fi
printf "%-16s = %s\n" "${i%=*}" "$x"
done
else
printf "dates: %s: No existe el archivo o directorio\n" "$n" >&2
e=1
fi
done
return $e
}
A continuación se muestra un ejemplo de uso.
dates x.jpg bad.name mbr.bin
A continuación se muestra un ejemplo de salida. Tenga en cuenta que el archivo bad.name
no existe.
Nombre: x.jpg
Fecha de Agregado = lun 11 dic 11:16:37 CST 2023
Fecha de Creación = lun 2 oct 08:48:39 CDT 2023
Fecha de Última Apertura = lun 11 dic 04:10:54 CST 2023
Fecha de Modificación = lun 11 dic 04:21:26 CST 2023
dates: bad.name: No existe el archivo o directorio
Nombre: mbr.bin
Fecha de Agregado = vie 2 abr 13:16:56 CDT 2021
Fecha de Creación = vie 2 abr 13:16:56 CDT 2021
Fecha de Última Apertura = --
Fecha de Modificación = vie 2 abr 13:16:56 CDT 2021
Para obtener el formato de las fechas exactamente como se muestra en el Finder en mi Mac, necesité modificar el formato de salida. En otras palabras, necesité reemplazar f="%+"
en la función dates
con lo siguiente.
f="%b %-e, %Y at %-l:%M %p"
El cambio en la salida se muestra a continuación.
Nombre: x.jpg
Fecha de Agregado = 11 dic, 2023 at 11:16 AM
Fecha de Creación = 2 oct, 2023 at 8:48 AM
Fecha de Última Apertura = 11 dic, 2023 at 4:10 AM
Fecha de Modificación = 11 dic, 2023 at 4:21 AM
dates: bad.name: No existe el archivo o directorio
Nombre: mbr.bin
Fecha de Agregado = 2 abr, 2021 at 1:16 PM
Fecha de Creación = 2 abr, 2021 at 1:16 PM
Fecha de Última Apertura = --
Fecha de Modificación = 2 abr, 2021 at 1:16 PM
Nota: Mientras usaba Catalina 10.15.7 para hacer pruebas en volúmenes APFS, encontré que el comando mdls
puede devolver incorrectamente la "Fecha de Agregado" para archivos que tienen más de un enlace duro. En otras palabras, el comando puede devolver la "Fecha de Agregado" para un archivo diferente con un enlace duro al mismo inode. Esto puede suceder incluso cuando la aplicación Finder muestra correctamente la "Fecha de Agregado".
Referencias