Txr.

Um utilitário de correspondência de padrão para extração de texto conveniente
Baixe Agora

Txr. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • BSD License
  • Preço:
  • FREE
  • Nome do editor:
  • Kaz Kylheku
  • Site do editor:
  • http://common-lisp.net/project/meta-cvs/

Txr. Tag


Txr. Descrição

Um utilitário de correspondência de padrão para extração de texto conveniente O TXR é um intérprete para a linguagem de consulta TXR. Uma consulta TXR combina texto e extrai peças ligando-as a variáveis que são incorporadas na consulta. O TXR pode produzir as ligações brutas coletadas a partir dos dados ou substituí-los em um relatório acionado por modelo. Grande, mas já temos sed, awk, perl ... embora essas ferramentas suportem o padrão correspondente sob a forma de expressões regulares, elas Não implementar um padrão de entrada inteira correspondente paradigma como txr.all, mas as tarefas de extração de texto mais simples são difíceis com sed, que é basicamente um programa de filtragem de regexp. Quando o formato de dados abrange várias linhas que se correlacionam, sed começa a mostrar sua fraqueza. AWK e Perl estão programando idiomas. Eles podem ser usados para realizar uma extração complexa de texto, mas é expresso como um padrão algoritmo. Um padrão é algum formulário que se assemelha ao que corresponde. Um programa Perl ou AWK não é um padrão; Não tem semelhança com os dados que estão sendo processados; Descreve as etapas detalhadas do processo mais do que os dados. Para muitos desses processos, uma consulta de TXR mais clara e mais sucinta pode ser escrita para fazer a mesma coisa. Uma analogia pode ser desenhada para outras linguagens de padrão, como gramáticas. Uma gramática BNF descreve um idioma de uma maneira que, digamos, o código-fonte C ++ de um parser de descida recursivo não é possível desenvolver uma consulta TXR, o usuário normalmente é iniciado com os dados de amostra. Os dados brutos já são provavelmente uma consulta TXR que se corresponda, depois que o cuidado é tomado para escapar de alguns caracteres que têm um significado especial para o TXR. Tudo o que é deixado é identificar as peças que precisam ser variáveis e resumir as variações para que a consulta generalizada para todas as instâncias dos dados. Em curto, uma extração verdadeiramente prática e linguagem de relatório chegou, e seu nome é TXR .Falar é fácil; Que tal um exemplo? Tudo bem. Em vez de "Olá, mundo", que tal algo mais avançado? Uma ferramenta que eu não gosto no UNIX e no Linux é o utilitário PS para listar processos. Eu tenho usado UNIX desde 1989 e Linux desde 1993, e eu não sou burro; No entanto, sempre que eu preciso de PS para fazer algo ligeiramente fora do comum, eu tenho que recorrer à página do homem, e então eu ainda não consigo fazer isso para fazer o que eu quero metade do tempo. Com o TXR, podemos facilmente fazer um Utilitário PS rápido e sujo (que depende do sistema de arquivos / proc no Linux). Aqui está o que a consulta parece. Isso pode ser salvo em um arquivo chamado ps.txr: @ (próximo) $ / proc @ (coletar) @ {processo / + /} @ (próximo) / proc / @ processo / statusName: @ @Namestate @ @state (@state_desc) @ (skip) tgid: @ @tgidpid: @ @proc_idppid: @ @ parent_id @ (vincul pid) @ (vincul ppid parent_id) @ (skip) uid: @ @ uid @ @ /. * / Gid: @ @ gid @ @ /. * / @ (Próximo) $ / proc / @ Process / Tarefa @ (Collect) @ thr @ (end) @ (bind thread) @ (próximo) / etc / passwd @ (skip) @user: @pw: @uid: @ /. * /. * / @ (ligato UID UID) @ (end) @ (end) @ (saída) @ (saída) @ (saída) @ (Repetir) @ {USER 8} @ {PROC_ID -5} @ {parent_id -5} @state @ {nome 16} @ (representante) @th, @ (último) @ thr @ (único) @ (final) @ (final) @ (end) agora, podemos executar a consulta como esta: shell $ txr ps.txrwe obter saída que se parece com isto: usuário pid ppid s name threadsroot 10 s init ~ root 21 s ksofirqd / 0 ~ Root 31 s Eventos / 0 ~ Root 43 S KHelper ~ Root 53 s KCPID ~ Root 163 s KBLOCKD / 0 ~ ROOT 293 S AIO / 0 ~ ROOT 171 S KHUBD ~ ROOT 29542953 s Bash ~ raiz 161341887 s sshd ~ kaz 1613616134 s sshd ~ kaz 1613716136 s bash ~ kaz 3628 2175 s SLRN ~ Root 37211963 s Crond ~ Root 37223721 s Run-peças ~ Root 37233722 S 00-Logwatch ~ Root 37243722 S AWK ~ Root 39403723 s Mail ~ Root 40493723 S ZZ-Disk_Space ~ Root 40514049 S df ~ raiz 40524049 s grep ~ kaz 42661 s ssh-agent ~ kaz 433116137 s vim ~ kaz 442631908 r txr ~ a consulta txr funciona processando as entradas numéricas sob o diretório / proc, lendo o / proc / / arquivo de status de cada processo e a lista de threads sob / proc / / tarefas. Os ID do usuário são resolvidos correspondentes por meio do arquivo / etc / passwd. O que há de novo nesta versão: · Existe uma nova diretiva de forma livre para correspondência não estruturada em várias linhas. · As variáveis podem ser vinculadas a regras e usadas para correspondência.


Txr. Software Relacionado