GNU Awk 5.2 kommer med ny underhållare, pma-stöd, MPFR-läge och mer

kommando-gawk

I Linux används det för att skanna mönster och bearbeta språk.

I slutet av förra månaden delade vi här på bloggen nyheten om att Brian Kernighan, en av skaparna av AWK hade bekräftat det fortsätter bakom AWK-koden, ger stöd och förbättrar detta bearbetningsspråk (du kan läsa nyheterna på följande länk.)

Anledningen till att nämna detta är att nyligen en ny version av GNU-Gawk-implementeringen släpptes 5.2.0, av programmeringsspråket AWK.

AWK utvecklades på 70-talet och har inte genomgått några betydande förändringar sedan mitten av 80-talet, då språkets huvudryggrad definierades, vilket har gjort det möjligt att behålla språkets ursprungliga stabilitet och enkelhet över tid och över tid. decennier.

AWK var ett av de första konsolverktygen populärt för att hantera (hantera/extrahera) data genom att maximera funktionaliteten hos UNIX-pipelines. Språket som tillhandahålls av detta verktyg är för närvarande en standard i nästan alla moderna operativsystem av UNIX-typ, så mycket att det är en del av de grundläggande UNIX-specifikationerna, så det finns vanligtvis redan installerat i de flesta av dem som standard.

Trots sin höga ålder, administratörer använder fortfarande AWK aktivt att utföra rutinarbete relaterat till att analysera olika typer av textfiler och generera enkel resulterande statistik.

Detta kommando tillhandahåller ett skriptspråk för textbearbetning med vilket vi kan: Definiera variabler, använda strängar och aritmetiska operatorer, använda flödeskontroll och loopar och generera formaterade rapporter. Egentligen är Awk mer än bara ett enkelt mönsterbearbetningskommando, det är ett helt semantiskt analysspråk.

De viktigaste nya funktionerna i GNU Awk 5.2

I denna nya version som presenteras lyfts det fram att lagt till experimentellt stöd för pma memory manager (persistent malloc), som låter dig spara värden för variabler, arrayer och användardefinierade funktioner mellan olika körningar av awk.

En annan förändring som sticker ut i den här nya versionen är att ändrad jämförelselogik av siffror, som överensstämmer med logiken som används i C-språket. För användare, förändringen påverkar främst jämförelsen av Infinity- och NaN-värden med vanliga nummer.

Utöver det också det noteras att möjligheten att använda hashfunktionen FNV1-A på associativa arrayer aktiveras det genom att ställa in miljövariabeln AWK_HASH till "fnv1a".

I BWK-läge, ange flaggan "–traditionell" som standard möjliggör kompatibilitet med tidigare inkluderade intervalluttryck med alternativet "-r" ("–re-interval").

Tillägget rwarray tillhandahåller nya writeall()- och readall()-funktioner för att skriva och läsa alla variabler och arrayer på en gång.

Utöver det, stöd för aritmetik med hög precision, har implementerats med hjälp av MPFR-biblioteket, förutom borttagen från GNU Awk-underhållaransvaret och överförs till en tredje part entusiast. Det noteras att implementeringen av MPFR-läge av GNU Awk anses vara en bugg. I händelse av en varaktig tillståndsändring är det planerat att helt ta bort denna funktion från GNU Awk.

Av de andra förändringarna som sticker ut från den här nya versionen:

  • Uppdaterade bygginfrastrukturkomponenter Libtool 2.4.7 och Bison 3.8.2.
  • Tog bort stöd för kompilering med CMake (kodstöd för CMake var inte efterfrågat och uppdaterades inte på fem år).
  • Lade till funktionen mkbool() för att skapa booleska värden som är siffror, men som behandlas som en boolesk typ.
  • Lade till gawkbug-skript för att rapportera buggar.
  • Omedelbar avstängning tillhandahålls vid syntaxfel, vilket löser problem med hjälp av fuzzing-verktyg.
  • Det har gjorts många mindre kodrensningar och buggfixar.
  • Stödet för operativsystemen OS/2 och VAX/VMS har tagits bort.

Slutligen, om du är intresserad av att veta mer om detkan du kontrollera detaljerna I följande länk. 


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.