Bash: проверяем тип файла

Проверить тип файла можно с помощью команды file, например, вывести mime-тип файла можно так (естественно, определение идет по содержимому файла):

file -i файл.doc
файл.doc: application/msword; charset=binary


На bash можно сделать такую конструкцию — если тип файла (имя передается параметром скрипту) соответствует определенным типам, то производим с файлом какие-либо действия:

type=$(file -i "$1")
if echo "$type" | egrep -q 'office|word'
then
  # Делаем что-нибудь
fi

Комментарии (4)

RSS свернуть / развернуть
+
0
Правильно ли я понял, что эта утилита не верит расширению, а лезет во внутренности и определяет что за фигня перед ней?
avatar

yababay

  • 23 января 2012, 15:43
+
0
да, так и есть
avatar

Sergei_T

  • 23 января 2012, 15:57
+
0
Наутилусу и тунару например пофиг на расширение. Они всегда внутрь заглядывают
avatar

durman

  • 23 января 2012, 23:23
+
0
Кажись даже mc заглядывает.
avatar

yababay

  • 24 января 2012, 01:39

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.