GNU Awk 5.2 komt met nieuwe beheerder, pma-ondersteuning, MPFR-modus en meer

commando-gawk

In Linux wordt het gebruikt om patronen en procestaal te scannen.

Eind vorige maand deelden we hier op de blog het nieuws dat Brian Kernighan, een van de makers van AWK had bevestigd dat gaat verder achter de AWK-code, het geven van ondersteuning en het verbeteren van deze verwerkingstaal (u kunt het nieuws raadplegen in de volgende link.)

De reden om dit te vermelden is dat onlangs er is een nieuwe versie van de GNU-Gawk-implementatie uitgebracht 5.2.0, van de programmeertaal AWK.

AWK is ontwikkeld in de jaren zeventig en heeft geen significante veranderingen ondergaan sinds het midden van de jaren tachtig, toen de belangrijkste ruggengraat van de taal werd gedefinieerd, waardoor het mogelijk is de oorspronkelijke stabiliteit en eenvoud van de taal in de loop van de tijd te behouden. tientallen jaren.

AWK was een van de eerste consolehulpprogramma's populair voor het beheren (afhandelen/extraheren) van gegevens door de functionaliteit van UNIX-pijplijnen te maximaliseren. De taal die door dit hulpprogramma wordt geleverd, is momenteel een standaard in bijna alle moderne besturingssystemen van het UNIX-type, zozeer zelfs dat het deel uitmaakt van de basisspecificaties van UNIX, zodat het meestal al standaard in de meeste ervan is geïnstalleerd.

Ondanks zijn hoge leeftijd, beheerders gebruiken nog steeds actief AWK om routinewerk uit te voeren met betrekking tot het ontleden van verschillende soorten tekstbestanden en het genereren van eenvoudige resulterende statistieken.

Dit commando biedt een scripttaal voor tekstverwerking waarmee we: variabelen kunnen definiëren, strings en rekenkundige operatoren kunnen gebruiken, flow control en loops kunnen gebruiken en opgemaakte rapporten kunnen genereren. Eigenlijk is Awk meer dan alleen een eenvoudig patroonverwerkingscommando, het is een hele semantische analysetaal.

Belangrijkste nieuwe functies van GNU Awk 5.2

In deze nieuwe versie die wordt gepresenteerd, wordt benadrukt dat: experimentele ondersteuning toegevoegd voor pma memory manager (persistent malloc), waarmee u de waarden van variabelen, arrays en door de gebruiker gedefinieerde functies kunt opslaan tussen verschillende runs van awk.

Een andere verandering die opvalt in deze nieuwe versie is dat gewijzigde vergelijkingslogica van getallen, wat overeenkomt met de logica die wordt gebruikt in de taal C. Voor gebruikers, de wijziging heeft vooral invloed op de vergelijking van Infinity- en NaN-waarden met vaste nummers.

Daarnaast ook er wordt opgemerkt dat de mogelijkheid om de FNV1-A-hashfunctie te gebruiken op associatieve arrays wordt dit ingeschakeld door de omgevingsvariabele AWK_HASH in te stellen op "fnv1a".

In de BWK-modus maakt het standaard specificeren van de “–traditional”-vlag compatibiliteit met eerder opgenomen bereikexpressies met de “-r” (“–re-interval”) optie mogelijk.

De rwarray-extensie biedt nieuwe functies writeall() en readall() om alle variabelen en arrays tegelijk te schrijven en te lezen.

Naast het, ondersteuning voor rekenen met hoge precisie, is geïmplementeerd met behulp van de MPFR-bibliotheek, naast: verwijderd van GNU Awk verantwoordelijkheid van de beheerder en overgedragen aan een derde liefhebber. Opgemerkt wordt dat de implementatie van de MPFR-modus van GNU Awk als een bug wordt beschouwd. In het geval van een aanhoudende statusverandering, is het de bedoeling om deze functie volledig uit GNU Awk te verwijderen.

Van de andere veranderingen die zich onderscheiden van deze nieuwe versie:

  • Bijgewerkte build-infrastructuurcomponenten Libtool 2.4.7 en Bison 3.8.2.
  • Ondersteuning voor compileren met CMake verwijderd (code-ondersteuning voor CMake was niet in trek en werd vijf jaar niet bijgewerkt).
  • De functie mkbool() toegevoegd om booleaanse waarden te maken die getallen zijn, maar worden behandeld als een booleaans type.
  • Gawkbug-script toegevoegd om bugs te melden.
  • Onmiddellijke afsluiting wordt geboden bij syntaxisfouten, waarbij problemen worden opgelost met behulp van fuzzing-tools.
  • Er zijn talloze kleine code-opruimingen en bugfixes geweest.
  • Ondersteuning voor OS/2- en VAX/VMS-besturingssystemen is verwijderd.

Eindelijk, als je er meer over wilt weten, kunt u de details bekijken In de volgende link. 


Wees de eerste om te reageren

Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.