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

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!


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

Cytowana strona nie jest już dostępna.
Randall
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.