¿Cómo obtener la UTI de un archivo desde la línea de comandos en Mac OS X?


24

¿Existe una utilidad de línea de comando a la que pueda pasar un nombre de archivo, que devolverá las UTI aplicables para ese archivo?

Por ejemplo:

hypothetical-uti-fetcher /Library/Desktop\ Pictures/Aqua\ Blue.jpg

podría darme:

public.jpeg
public.image
public.data

Respuestas:


26

Puede usar el mdlscomando para encontrar la UTI para un archivo:

mdls /Library/Desktop\ Pictures/Aqua\ Blue.jpg

y te dará un montón de información, hacia la parte superior dirá algo como

kMDItemContentType             = "public.plain-text"

¡Espero que esto ayude!


3
Excelente. Gracias. mdls -name kMDItemContentTypeTree /Library/Desktop\ Pictures/Aqua\ Blue.jpgEs exactamente lo que quería.
smokris

De nada, me alegra que esto haya ayudado.
Wuffers

1
Supongamos que apago mi índice de Spotlight y parece que no tengo metadatos almacenados. (mdls whatever-file solo dice que no se encontró el archivo). ¿Cómo generan los servicios md * los tipos de contenido en primer lugar?
Aurel Bílý

7

El comando mdls solo parece funcionar en archivos indexados de Spotlight. Si lo ejecuta en una imagen de disco, CD o unidad de disco montado, es posible que no devuelva ninguna información.

Cuando desarrolle un complemento Quicklook, también es útil usar el siguiente comando para ver qué UTI Quicklook cree que tiene un archivo y qué complementos usa para la vista previa:

qlmanage -d 4 -p /path/to/file

El sitio citado ya no está disponible.
Randall
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.