Jak uzyskać identyfikator UTI pliku z wiersza polecenia w systemie Mac OS X?

24

Czy istnieje narzędzie wiersza polecenia, do którego mogę przekazać nazwę pliku, który zwróci odpowiednie UTI dla tego pliku?

Na przykład:

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

może dać mi:

public.jpeg
public.image
public.data
smokris
źródło

Odpowiedzi:

27

Możesz użyć mdlspolecenia, aby znaleźć identyfikator UTI dla pliku:

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

i da ci mnóstwo informacji, na górze powie coś podobnego

kMDItemContentType             = "public.plain-text"

Mam nadzieję że to pomoże!

Wuffers
źródło
3
Doskonały. Dzięki. mdls -name kMDItemContentTypeTree /Library/Desktop\ Pictures/Aqua\ Blue.jpgjest dokładnie tym, czego chciałem.
smokris
Nie ma za co, cieszę się, że to pomogło.
Wuffers
1
Załóżmy, że wyłączyłem indeks Spotlight i wydaje się, że nie mam zapisanych metadanych. (mdlsokolwiek-plik mówi tylko, że plik nie został znaleziony). W jaki sposób usługi md * generują typy treści w pierwszej kolejności?
Aurel Bílý
7

Wydaje się, że polecenie mdls działa tylko w przypadku plików indeksowanych Spotlight. Jeśli uruchomisz go na zamontowanym obrazie dysku, dysku CD lub napędu USB, może on w ogóle nie zwrócić żadnych informacji.

Podczas opracowywania wtyczki Quicklook przydatne jest również użycie następującego polecenia, aby zobaczyć, co według UTI Quicklook uważa, że ​​plik ma i jakich wtyczek używa do podglądu:

qlmanage -d 4 -p /path/to/file
Karsten
źródło
Cytowana strona nie jest już dostępna.
Randall