GNU Awk 5.2 chega com novo mantenedor, suporte a pma, modo MPFR e mais

comando-gawk

No Linux é usado para escanear padrões e processar a linguagem.

No final do mês passado compartilhamos aqui no blog a notícia que Brian Kernighan, um dos criadores do AWK tinha confirmado que continua atrás do código AWK, dando suporte e aprimorando essa linguagem de processamento (você pode consultar as novidades em o seguinte link.)

A razão para mencionar isso é que recentemente uma nova versão da implementação GNU-Gawk foi lançada 5.2.0, da linguagem de programação AWK.

O AWK foi desenvolvido na década de 70 e não sofreu mudanças significativas desde meados da década de 80, quando foi definida a espinha dorsal principal da linguagem, o que permitiu manter a estabilidade original e a simplicidade da linguagem ao longo do tempo. décadas.

AWK foi um dos primeiros utilitários de console popular para gerenciar (manusear/extrair) dados maximizando a funcionalidade dos pipelines UNIX. A linguagem fornecida por este utilitário é atualmente um padrão em quase todos os sistemas operacionais do tipo UNIX modernos, tanto que faz parte das especificações básicas do UNIX, por isso geralmente é encontrado já instalado na maioria deles por padrão.

Apesar da idade avançada, os administradores ainda usam ativamente o AWK para realizar trabalhos de rotina relacionados à análise de vários tipos de arquivos de texto e geração de estatísticas simples resultantes.

Este comando fornece uma linguagem de script para processamento de texto com a qual podemos: Definir variáveis, usar strings e operadores aritméticos, usar controle de fluxo e loops e gerar relatórios formatados. Na verdade, o Awk é mais do que um simples comando de processamento de padrões, é toda uma linguagem de análise semântica.

Principais novos recursos do GNU Awk 5.2

Nesta nova versão que se apresenta, destaca-se que adicionado suporte experimental para gerenciador de memória pma (malloc persistente), que permite salvar os valores de variáveis, arrays e funções definidas pelo usuário entre diferentes execuções do awk.

Outra das mudanças que se destacam nesta nova versão é que lógica de comparação alterada de números, que se alinha com a lógica usada na linguagem C. Para usuários, a mudança afeta principalmente a comparação dos valores Infinity e NaN com números regulares.

Além disso, também observa-se que a capacidade de usar a função de hash FNV1-A em arrays associativos, ele é habilitado definindo a variável de ambiente AWK_HASH como "fnv1a".

No modo BWK, especificar o sinalizador “–tradicional” por padrão permite a compatibilidade com expressões de intervalo incluídas anteriormente com a opção “-r” (“–re-interval”).

A extensão rwarray fornece novas funções writeall() e readall() para escrever e ler todas as variáveis ​​e arrays de uma só vez.

Além disso, suporte para aritmética de alta precisão, foi implementado usando a biblioteca MPFR, além de removido da responsabilidade do mantenedor do GNU Awk e transferido para um entusiasta de terceiros. Note-se que a implementação do modo MPFR do GNU Awk é considerada um bug. No caso de uma mudança de estado sustentada, está planejado remover completamente esse recurso do GNU Awk.

Das outras mudanças que se destacam nesta nova versão:

  • Componentes de infraestrutura de compilação atualizados Libtool 2.4.7 e Bison 3.8.2.
  • Removido suporte para compilação com CMake (suporte de código para CMake não estava em demanda e não foi atualizado por cinco anos).
  • Adicionada a função mkbool() para criar valores booleanos que são números, mas são tratados como um tipo booleano.
  • Adicionado script gawkbug para reportar bugs.
  • O desligamento instantâneo é fornecido em erros de sintaxe, resolvendo problemas usando ferramentas de fuzzing.
  • Houve inúmeras pequenas limpezas de código e correções de bugs.
  • O suporte para os sistemas operacionais OS/2 e VAX/VMS foi removido.

Finalmente, se você estiver interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir. 


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.