¿Cómo editar los metadatos del archivo "kMDItemXxx" en macOS?

Hoy traté de editar los metadatos de un archivo de imagen. Solía mdls​​mostrarlos, luego buscaba un comando para editar uno. Pero no pude encontrar ninguno.

Para los metadatos básicos, como las marcas de tiempo básicas, touches lo suficientemente bueno. Y para estas cosas llamadas "atributos extendidos" (cuarentena, etc.), macOS te ofrece xattr -d.

Pero, ¿hay alguna forma CLI de editar, por ejemplo, kMDItemBitsPerSampleo kMDItemFSNamelos pares clave/valor utilizados por Spotlight?

Respuestas (1)

El sistema Spotlight recopila una variedad de tipos de metadatos sobre archivos. Algunos tipos de metadatos son lo que yo llamaría "superficiales" y se pueden cambiar fácilmente cambiando las propiedades del archivo; pero algunos "más profundos" dependen del contenido del archivo y no se pueden cambiar sin cambios significativos en el propio archivo.

kMDItemFSNamees un ejemplo de un atributo "superficial": es solo el nombre del archivo, por lo que cambiar el nombre del archivo lo cambiará. kMDItemBitsPerSample, por otro lado, es una propiedad de los datos en el archivo (es la profundidad de bits de una imagen o archivo de audio). El cambio kMDItemBitsPerSampleimplicaría algún tipo de recodificación de la imagen o el archivo de audio.

Eso sí, hay algunos atributos que están en el medio de la superficialidad. Por ejemplo, los archivos mp3 incluyen metadatos como el nombre del álbum ( kMDItemAlbum) y el número de pista ( kMDItemAudioTrackNumber) que forman parte del contenido del archivo, pero que pueden editarse (mediante algunas aplicaciones, como el antiguo iTunes) sin tocar el contenido de audio del archivo.

También puede utilizar xattrpara modificar algunos de ellos. kMDItemFSNameSin embargo , no estoy seguro de qué sucede si lo usa para cambiar
@nohillside Traté de usar xattrpara configurar ambos kMDItemBitsPerSampley com.apple.metadata:kMDItemBitsPerSampleen un archivo .tiff, pero mdlscontinúa mostrando el valor original (correcto para los datos de la imagen). ( xattr -lmuestra los atributos que agregué).
En general, si cambia una propiedad del archivo, no creo mdlsque se refleje hasta que vuelva mdimporta importar ese archivo específico para actualizar la base de datos de Spotlight. En este caso, no creo que esos atributos sean parte de los atributos extendidos del archivo (no los veo en mis archivos de muestra).