Como obter a UTI de um arquivo na linha de comando no Mac OS X?


24

Existe um utilitário de linha de comando para o qual eu possa passar um nome de arquivo, que retornará UTIs aplicáveis ​​para esse arquivo?

Por exemplo:

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

pode me dar:

public.jpeg
public.image
public.data

Respostas:


27

Você pode usar o mdlscomando para encontrar a UTI de um arquivo:

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

e ele vai te dar um monte de informações, no topo vai dizer algo como

kMDItemContentType             = "public.plain-text"

Espero que isto ajude!


3
Excelente. Obrigado. mdls -name kMDItemContentTypeTree /Library/Desktop\ Pictures/Aqua\ Blue.jpgé exatamente o que eu queria.
smokris

De nada, estou feliz que isso tenha ajudado.
Wuffers

1
Suponha que eu desliguei meu índice do Spotlight e pareço não ter metadados armazenados. (mdls qualquer arquivo apenas diz que o arquivo não foi encontrado). Como os serviços md * geram os tipos de conteúdo em primeiro lugar?
Aurel Bílý

7

O comando mdls parece funcionar apenas em arquivos indexados do Spotlight. Se você executá-lo em uma imagem de disco montada, CD ou pen drive, ele pode não retornar nenhuma informação.

Ao desenvolver um plug-in do Quicklook, também é útil usar o comando a seguir para ver quais UTIs o Quicklook acha que um arquivo possui e quais plug-ins ele usa para a visualização:

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

O site citado não está mais disponível.
Randall
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.