GNU Awk 5.2 přichází s novým správcem, podporou pma, režimem MPFR a dalšími

příkaz-gawk

V Linuxu se používá ke skenování vzorů a zpracování jazyka.

Na konci minulého měsíce jsme zde na blogu sdíleli novinku, že Brian Kernighan, jeden z tvůrců AWK to potvrdil pokračuje za kódem AWK, poskytující podporu a vylepšování tohoto zpracovatelského jazyka (novinky si můžete prohlédnout v následující odkaz.)

Důvodem pro zmínku je to, že nedávno byla vydána nová verze implementace GNU-Gawk 5.2.0, programovacího jazyka AWK.

AWK byl vyvinut v 70. letech 80. století a od poloviny XNUMX. let, kdy byla definována hlavní páteř jazyka, neprošel výraznými změnami, což umožnilo zachovat původní stabilitu a jednoduchost jazyka v čase a v čase. dekády.

AWK byla jedna z prvních konzolových utilit populární pro správu (zpracování/extrakce) dat maximalizací funkčnosti kanálů UNIX. Jazyk poskytovaný touto utilitou je v současné době standardem téměř ve všech moderních operačních systémech typu UNIX, a to natolik, že je součástí základních unixových specifikací, takže je obvykle ve většině z nich standardně nainstalovaný.

I přes svůj pokročilý věk, administrátoři stále aktivně používají AWK provádět rutinní práci související s analýzou různých typů textových souborů a generováním jednoduchých výsledných statistik.

Tento příkaz poskytuje skriptovací jazyk pro zpracování textu, pomocí kterého můžeme: Definovat proměnné, používat řetězce a aritmetické operátory, používat řízení toku a smyčky a generovat formátované zprávy. Ve skutečnosti je Awk více než jen jednoduchý příkaz pro zpracování vzorů, je to celý jazyk sémantické analýzy.

Hlavní nové funkce GNU Awk 5.2

V této nové verzi, která je prezentována, je to zdůrazněno přidána experimentální podpora pro správce paměti pma (persistent malloc), který umožňuje ukládat hodnoty proměnných, polí a uživatelem definovaných funkcí mezi různými běhy awk.

Další změna, která v této nové verzi vyniká, je ta změnila srovnávací logiku čísel, což je v souladu s logikou používanou v jazyce C. Pro uživatele, změna se týká především srovnání hodnot Infinity a NaN s běžnými čísly.

Kromě toho také je třeba poznamenat, že schopnost používat hashovací funkci FNV1-A na asociativních polích je povolena nastavením proměnné prostředí AWK_HASH na "fnv1a".

V režimu BWK zadání příznaku „–tradiční“ ve výchozím nastavení umožňuje kompatibilitu s dříve zahrnutými výrazy rozsahu s možností „-r“ („–re-interval“).

Rozšíření rwarray poskytuje nové funkce writeall() a readall() pro zápis a čtení všech proměnných a polí najednou.

Kromě toho, podpora vysoce přesné aritmetiky, byl navíc implementován pomocí knihovny MPFR odstraněno z odpovědnosti správce GNU Awk a převedena na nadšence třetí strany. Je třeba poznamenat, že implementace GNU Awk v režimu MPFR je považována za chybu. V případě trvalé změny stavu se plánuje úplné odstranění této funkce z GNU Awk.

Z dalších změn které vyčnívají z této nové verze:

  • Aktualizované komponenty infrastruktury sestavení Libtool 2.4.7 a Bison 3.8.2.
  • Odstraněna podpora pro kompilaci s CMake (podpora kódu pro CMake nebyla žádaná a nebyla aktualizována po dobu pěti let).
  • Přidána funkce mkbool() pro vytvoření booleovských hodnot, které jsou čísly, ale jsou považovány za booleovský typ.
  • Přidán skript gawkbug pro hlášení chyb.
  • Okamžité vypnutí je poskytováno při syntaktických chybách, řešení problémů pomocí fuzzing nástrojů.
  • Došlo k četným drobným vyčištěním kódu a opravám chyb.
  • Podpora operačních systémů OS/2 a VAX/VMS byla odstraněna.

Konečně, pokud máte zájem o tom vědět více, můžete zkontrolovat podrobnosti Na následujícím odkazu. 


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.