GNU Awk 5.2 arrive avec un nouveau mainteneur, le support pma, le mode MPFR et plus

command-gawk

Sous Linux, il est utilisé pour analyser les modèles et traiter le langage.

À la fin du mois dernier, nous avons partagé ici sur le blog les nouvelles qui Brian Kernighan, l'un des créateurs d'AWK avait confirmé que continue derrière le code AWK, apportant un soutien et améliorant ce langage de traitement (vous pouvez consulter les actualités en le lien suivant.)

La raison de mentionner ceci est que récemment une nouvelle version de l'implémentation GNU-Gawk a été publiée 5.2.0, du langage de programmation AWK.

AWK a été développé dans les années 70 et n'a pas subi de changements significatifs depuis le milieu des années 80, lorsque l'épine dorsale principale du langage a été définie, ce qui a permis de maintenir la stabilité et la simplicité d'origine du langage au fil du temps et du passé. décennies.

AWK a été l'un des premiers utilitaires de console populaire pour gérer (manipulation/extraction) des données en maximisant la fonctionnalité des pipelines UNIX. Le langage fourni par cet utilitaire est actuellement un standard dans presque tous les systèmes d'exploitation modernes de type UNIX, à tel point qu'il fait partie des spécifications UNIX de base, de sorte qu'il se trouve généralement déjà installé dans la plupart d'entre eux par défaut.

Malgré son âge avancé, les administrateurs utilisent toujours activement AWK effectuer des travaux de routine liés à l'analyse de divers types de fichiers texte et générer des statistiques simples en résultant.

Cette commande fournit un langage de script pour le traitement de texte avec lequel nous pouvons : définir des variables, utiliser des chaînes et des opérateurs arithmétiques, utiliser le contrôle de flux et des boucles, et générer des rapports formatés. En fait, Awk est plus qu'une simple commande de traitement de modèles, c'est tout un langage d'analyse sémantique.

Principales nouveautés de GNU Awk 5.2

Dans cette nouvelle version qui est présentée, il est mis en évidence que ajout d'un support expérimental pour le gestionnaire de mémoire pma (persistent malloc), qui vous permet d'enregistrer les valeurs des variables, des tableaux et des fonctions définies par l'utilisateur entre différentes exécutions de awk.

Un autre changement qui se démarque dans cette nouvelle version est que logique de comparaison modifiée de nombres, ce qui correspond à la logique utilisée dans le langage C. Pour les utilisateurs, le changement affecte principalement la comparaison des valeurs Infinity et NaN avec des nombres réguliers.

En plus de cela, aussi il est à noter que la possibilité d'utiliser la fonction de hachage FNV1-A sur les tableaux associatifs, il est activé en définissant la variable d'environnement AWK_HASH sur "fnv1a".

En mode BWK, la spécification du drapeau "–traditional" par défaut permet la compatibilité avec les expressions de plage précédemment incluses avec l'option "-r" ("–re-interval").

L'extension rwarray fournit de nouvelles fonctions writeall() et readall() pour écrire et lire toutes les variables et tableaux à la fois.

En plus de cela, prise en charge de l'arithmétique de haute précision, a été implémenté à l'aide de la bibliothèque MPFR, en plus de retiré de la responsabilité du responsable de GNU Awk et transféré à un tiers passionné. Il est à noter que l'implémentation du mode MPFR de GNU Awk est considérée comme un bogue. En cas de changement d'état soutenu, il est prévu de supprimer complètement cette fonctionnalité de GNU Awk.

Des autres changements qui se démarquent de cette nouvelle version:

  • Mise à jour des composants d'infrastructure de build Libtool 2.4.7 et Bison 3.8.2.
  • Suppression de la prise en charge de la compilation avec CMake (la prise en charge du code pour CMake n'était pas demandée et n'a pas été mise à jour pendant cinq ans).
  • Ajout de la fonction mkbool() pour créer des valeurs booléennes qui sont des nombres, mais qui sont traitées comme un type booléen.
  • Ajout du script gawkbug pour signaler les bogues.
  • L'arrêt instantané est fourni sur les erreurs de syntaxe, résolvant les problèmes à l'aide d'outils de fuzzing.
  • Il y a eu de nombreux nettoyages de code mineurs et corrections de bogues.
  • La prise en charge des systèmes d'exploitation OS/2 et VAX/VMS a été supprimée.

Enfin, si vous souhaitez en savoir plus, vous pouvez vérifier les détails dans le lien suivant. 


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.