Extraindo informações das páginas man do Ubuntu [closed]

2
Estou tentando meus dados de manpages do Ubuntu e gerar estatísticas, como quantas manpages de comando tem seção de exemplos ou como usar um comando combinando opções diferentes e muito mais, automaticamente para alimentar um programa de automação. Pensei em algumas abordagens, mas elas têm suas próprias limitações associadas a elas.

  1. Use o regex para extrair informações em documentos de texto do Manpages. Mas parece ficar confuso para essa tarefa, pois o formato e a organização de diferentes seções não são consistentes entre todas as páginas de manual. Inconsistência no formato manpages parece ser um problema estabelecido.

  2. Use o analisador HTML / XML no formato html / xml das páginas de manual, pois isso proporciona mais estrutura em formato de texto. As seções podem ser identificadas com tags de cabeçalho e opções organizadas como elementos de lista no formato html. Mas o problema aqui é que não encontrei nenhuma coleção de manpages para download no formato html. O mais próximo que consegui encontrar é o formato html da distribuição Linux, que irá perder alguns comandos do mundo Ubuntu. Eu tentei converter manpages para o formato html através da linha de comando usando o software man2html, mas não o estrutura bem. O formato html gerado combina tudo em um conjunto principal de tags html.

Alguma sugestão sobre como abordar esse problema? Alguém poderia dar um ponteiro para implementações de código de trabalho já feito neste espaço?

    
por Kahini Wadhawan 02.12.2016 / 20:28

1 resposta

1

Você pode usar 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.

para simplificar os arquivos, então é um SMOP. Sugiro que um script Perl seja capaz de extrair os dados desejados. Pode-se facilmente detectar o nome do comando (e usá-lo para encontrar exemplos reais), encontrar a seção EXAMPLES (se existir), contar o número de vezes que a letra " e " é usada, ... com Perl.

    
por waltinator 02.12.2016 / 21:02