Wie erhalte ich die UTI einer Datei über die Befehlszeile in Mac OS X?

24

Gibt es ein Befehlszeilendienstprogramm, an das ich einen Dateinamen übergeben kann, der die entsprechenden UTIs für diese Datei zurückgibt?

Beispielsweise:

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

könnte mir geben:

public.jpeg
public.image
public.data
Smokris
quelle

Antworten:

27

Mit dem mdlsBefehl können Sie die UTI für eine Datei ermitteln:

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

und es wird Ihnen eine Reihe von Informationen geben, nach oben wird es so etwas sagen

kMDItemContentType             = "public.plain-text"

Hoffe das hilft!

Wuffers
quelle
3
Ausgezeichnet. Vielen Dank. mdls -name kMDItemContentTypeTree /Library/Desktop\ Pictures/Aqua\ Blue.jpgist genau das, was ich wollte.
Smokris
Gern geschehen, ich bin froh, dass dies geholfen hat.
Wuffers
1
Angenommen, ich habe meinen Spotlight-Index deaktiviert und anscheinend keine Metadaten gespeichert. (mdls whatever-file sagt nur, dass die Datei nicht gefunden wurde). Wie erzeugen die md * -Dienste überhaupt die Inhaltstypen?
Aurel Bílý
7

Der Befehl mdls scheint nur für indizierte Spotlight-Dateien zu funktionieren. Wenn Sie es auf einem gemounteten Disk-Image, einer CD oder einem USB-Stick ausführen, werden möglicherweise überhaupt keine Informationen zurückgegeben.

Wenn Sie ein Quicklook-Plugin entwickeln, ist es auch nützlich, den folgenden Befehl zu verwenden, um festzustellen, welche UTIs Quicklook für eine Datei hat und welche Plugins für die Vorschau verwendet werden:

qlmanage -d 4 -p /path/to/file
Karsten
quelle
Die angegebene Site ist nicht mehr verfügbar.
Randall