Як отримати UTI файлу з командного рядка в Mac OS X?


24

Чи є утиліта командного рядка, якій я можу передати ім'я файлу, яка поверне відповідні UTI для цього файлу?

Наприклад:

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

може дати мені:

public.jpeg
public.image
public.data

Відповіді:


27

За допомогою mdlsкоманди можна знайти UTI для файлу:

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

і він дасть вам купу інформації, вгорі він скаже щось на кшталт

kMDItemContentType             = "public.plain-text"

Сподіваюся, це допомагає!


3
Відмінно. Спасибі. mdls -name kMDItemContentTypeTree /Library/Desktop\ Pictures/Aqua\ Blue.jpgце саме те, що я хотів.
smokris

Вітаю вас, я радий, що це допомогло.
Wuffers

1
Припустимо, я вимкнув індекс Spotlight і, здається, немає метаданих. (mdls what-file просто говорить, що файл не знайдено). Як послуги md * в першу чергу генерують типи вмісту?
Aurel Bílý

7

Команда mdls, здається, працює лише на файли з індексом Spotlight. Якщо ви запускаєте його на встановленому зображенні диска, компакт-диску чи великого пальця, він може взагалі не повертати ніякої інформації.

Коли ви розробляєте плагін Quicklook, також корисно скористатися наступною командою, щоб побачити, що UTIs Quicklook вважає, що файл має і які плагіни він використовує для попереднього перегляду:

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

Цитований сайт більше недоступний.
Рандалл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.