Pergunta

muitas vezes eu encontro mensagens EDI em vários formatos de texto simples, por exemplo, o formato:

HEAD[customer,8][date,8][reference,10]
[lineno, 3][product, 8][quantity, 3][currency, 3][price, 10]...

.. resultando em mensagens como esta:

HEAD1122334420091031   LINDAHL
00100004711010USD0000234055
00200004712005USD0000004543
...

A leitura do despejo acima, obviamente, requer foco, e muitas vezes eu encontro-me perder o controle de colunas e campos. Seria bom ter uma forma de expressar a gramática da mensagem e obter um arquivo marcado-up (por exemplo, em HTML).

É claro que é possível fazer isso com os scripts feitos sob medida em qualquer idioma, mas estou curioso:? Existe uma coisa genérica para transformar texto simples, algo como o que XSLT faz com XML

Foi útil?

Solução

Parece um trabalho para awk. Ele foi projetado exatamente para arquivos de texto de análise como essa. É baseado em regras, exatamente como XSLT. Ele já está instalado em sua caixa de Unix -. Apenas man awk

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top