Как получить 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, и у меня, похоже, нет метаданных. (MDL независимо от файла просто говорит, что файл не был найден). Как сервисы md * генерируют типы контента в первую очередь?
Aurel Bílý

7

Команда mdls, похоже, работает только с индексированными файлами Spotlight. Если вы запустите его на смонтированном образе диска, компакт-диске или флэш-накопителе, он может вообще не вернуть никакой информации.

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

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

Цитируемый сайт больше не доступен.
Рэндалл
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.