Как получить MIME-тип файла из командной строки?

56

Я пытаюсь получить MIME-тип файла из командной строки в виде печатной строки (например. application/vnd.oasis.opendocument.spreadsheet).

Я посмотрел, как это сделать, и нашел xdg-mimeкоманду.

После прочтения man-страницы ( man xdg-mime), кажется, я должен бежать xdg-mime query filetype FILE. Однако, когда я запускаю это с любым файлом, он ничего не печатает и завершает работу.

Есть ли способ это исправить? Альтернативная команда?

dv3500ea
источник

Ответы:

89

использование file --mime-type -b filename

Посмотрите на file --helpдополнительные советы.

Оли
источник
2

Большой ответ на эту страницу можно поместить в функцию или скрипт , как так:

пример

$ mime_type.sh /etc/passwd  
text/plain

mime_type.sh

function mime_type()
{
  file --mime-type -b $*
}

mime_type $*
Брэд Паркс
источник
4
Используйте -bфлаг или --briefчтобы fileвместо трубопровода к awk.
Эмиль
хорошая точка .. исправлено!
Брэд