![]() |
|
Модераторы: powerfox, ZeeLax |
![]()
|
|
| RainMan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 29.12.2004 Репутация: нет Всего: нет |
Здравствуйте!
Помогите мне пожалуйста с решением вот какой задачи: необходимо определить тип файла. не тривиальная задача - набираем file <name file> и получаем отчет системы о том что это за файл. все бы хорошо но есть проблемы вот какого плана - на Sparc Solaris - это отчет одного вида на Linux машинах это отчеты другого вида ================================================ <name file> ascii text --> отчет Solaris <name file> ASCII Text File --> отчет Linux ================================================ (при чем на solaris некоторые типы файлов не определяются (например файл PDF версии 1.4 не поддерживается в Solaris зато поддерживается в Linux) ============================================================= <name file.pdf> data type --> отчет Solaris <name file.pdf> Adobe Acrobat File (PDF) v1.4 --> отчет Linux ============================================================== ). Почитали хелпы по пользоанию комманды file и выяснили что можно подставить так называемый magic файл который и будет транслитировать наши файлы так как мы укажем, то есть указываем опцию file -m <magic file> <name file> и вроде все будет отлично! (По умолчанию стоит magic файл из определенного места /usr/magic и от туда берется информация о типе файла). Вроде все просто получается бери да и записывай в свой magic файл все что ты хочешь и определяй! мне конкретно нужны типы PDF и текстовые файлы! (это нужно для того чтобы уйти от стандартного определения файлов и назначить им свой тип) С PDF более или менее разобрался а вот как понять что мы имеем дело с текстовым файлом? Слышал что это определяется при помощи смещения быйтов или что то в этом роде... как эти смещения узнать и чем заглядывать во внутрь файла??? Извините за столь долгое объяснение... просто хотел чтоб была понятна проблема! Спасибо |
|||
|
||||
| dargaard |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 450 Регистрация: 7.5.2004 Репутация: 12 Всего: 25 |
Так как на солярисе и на линуксе отчеты разного вида почему бы просто всегда не использовать magic фаил линукса?
-------------------- Ты должна сделать добро из зла потому что его больше не из чего сделать. Р.П.Уоррен |
|||
|
||||
| RainMan |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 29.12.2004 Репутация: нет Всего: нет |
Хочется создать универсальный свой magic файл только для PDF и текстовых файлов чтобы парсить уже известную строку отчета (например "PDF file") а эти magic файлы имеют тенденцию меняться и подстраиваться под другую методологию опять придется...
вот пример своего magic файла для определения всех версий PDF #this string for all version PDF formats 0 string %PDF PDF file 0 - означает начало файла string - тип считаемых данных %PDF - собственно сигнатура файла PDF (она у всех стандартная) PDF file - описание данного файла (собственно то что и идет в отчет об выполнении кооманды file) Как составить такую же строчку только для текстовых файлов? там точно знаю нужно дейстовать через какое то смещение... |
|||
|
||||
![]()
|
| Правила форума "Linux/UNIX: Oбщие вопросы" | |
|
|
В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу). В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим. Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |