Я пытаюсь добыть данные из руководств ubuntu и сгенерировать статистику, например, сколько страниц руководства по командам содержит раздел примеров или как использовать команду, объединяющую различные параметры и многое другое, для автоматической подачи в программу автоматизации. Я подумал о нескольких подходах, но у них есть свои ограничения, связанные с ними.
Используйте регулярное выражение для извлечения информации о текстовых документах manpages. Но, похоже, эта задача становится беспорядочной, поскольку формат и организация различных разделов не единообразны для всех страниц руководства. Несогласованность в формате справочных страниц, по-видимому, является серьезной проблемой.
Используйте синтаксический анализатор HTML / XML в формате html / xml страниц руководства, поскольку он дает больше структуры по сравнению с текстовым форматом.Разделы можно идентифицировать с помощью тегов заголовков и опций, организованных в виде элементов списка в формате html. Но проблема в том, что я не нашел загружаемой коллекции руководств в формате html. Ближайшее, что мне удалось найти, - это html-формат дистрибутива Linux, в котором отсутствуют определенные команды мира Ubuntu. Я пробовал преобразовывать man-страницы в формат html через командную строку с помощью программного обеспечения man2html, но оно плохо структурирует его. Сгенерированный формат html объединяет все в один основной набор тегов html.
Есть предложения, как подойти к этой проблеме? Может ли кто-нибудь дать указатель на реализацию кода уже проделанной работы в этом пространстве?
Вы могли использовать catman
:
trusty (8) catman.8.gz
Provided by: man-db_2.6.7.1-1_i386
NAME
catman - create or update the pre-formatted manual pages
SYNOPSIS
catman [-d?V] [-M path] [-C file] [section] ...
DESCRIPTION
catman is used to create an up to date set of pre-formatted manual
pages known as cat pages. Cat pages are generally much faster to
display than the original manual pages, but require extra storage
space. The decision to support cat pages is that of the local
administrator, who must provide suitable directories to contain them.
для упрощения файлов затем это - SMOP. Я предлагаю, чтобы сценарий Perl смог извлечь данные, которые Вы хотите. Можно легко обнаружить название команды (и использование, что для нахождения фактических примеров), найдите EXAMPLES
раздел (если это существует), считайте количество раз, буква "e
" используется... с Perl.