Comment obtenir l'UTI d'un fichier à partir de la ligne de commande sous Mac OS X?

24

Existe-t-il un utilitaire de ligne de commande auquel je peux transmettre un nom de fichier, qui retournera les UTI applicables pour ce fichier?

Par exemple:

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

pourrait me donner:

public.jpeg
public.image
public.data
smokris
la source

Réponses:

27

Vous pouvez utiliser la mdlscommande pour trouver l'UTI d'un fichier:

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

et il vous donnera un tas d'informations, vers le haut, il dira quelque chose comme

kMDItemContentType             = "public.plain-text"

J'espère que cela t'aides!

Wuffers
la source
3
Excellent. Merci. mdls -name kMDItemContentTypeTree /Library/Desktop\ Pictures/Aqua\ Blue.jpgc'est exactement ce que je voulais.
smokris
Je vous en prie, je suis heureux que cela ait aidé.
Wuffers
1
Supposons que j'ai désactivé mon index Spotlight et que je semble n'avoir aucune métadonnée stockée. (mdls quel que soit le fichier indique simplement que le fichier n'a pas été trouvé). Comment les services md * génèrent-ils les types de contenu en premier lieu?
Aurel Bílý
7

La commande mdls ne semble fonctionner que sur les fichiers indexés Spotlight. Si vous l'exécutez sur une image disque montée, un CD ou une clé USB, il se peut qu'il ne retourne aucune information.

Lorsque vous développez un plugin Quicklook, il est également utile d'utiliser la commande suivante pour voir ce que Quicklook UTI pense qu'un fichier possède et quels plugins il utilise pour l'aperçu:

qlmanage -d 4 -p /path/to/file
Karsten
la source
Le site cité n'est plus disponible.
Randall