GNU Awk 5.2 erscheint mit neuem Betreuer, PMA-Unterstützung, MPFR-Modus und mehr

Befehl-Gawk

Unter Linux wird es verwendet, um Muster zu scannen und Sprache zu verarbeiten.

Ende letzten Monats teilten wir hier im Blog die Nachricht, dass Brian Kernighan, einer der Schöpfer von AWK hatte das bestätigt setzt sich hinter dem AWK-Code fort, Unterstützung und Verbesserung dieser Verarbeitungssprache (Sie können die Nachrichten in konsultieren den folgenden Link.)

Der Grund für die Erwähnung ist, dass vor kurzem eine neue Version der GNU-Gawk-Implementierung wurde veröffentlicht 5.2.0, der Programmiersprache AWK.

AWK wurde in den 70er Jahren entwickelt und hat seit Mitte der 80er Jahre, als das Hauptrückgrat der Sprache definiert wurde, keine wesentlichen Änderungen erfahren, was es ermöglicht hat, die ursprüngliche Stabilität und Einfachheit der Sprache über die Zeit hinweg zu bewahren Jahrzehnte.

AWK war eines der ersten Konsolen-Dienstprogramme beliebt für die Verwaltung (Handhabung/Extrahierung) von Daten durch Maximierung der Funktionalität von UNIX-Pipelines. Die von diesem Dienstprogramm bereitgestellte Sprache ist derzeit ein Standard in fast allen modernen UNIX-Betriebssystemen, so sehr, dass sie Teil der grundlegenden UNIX-Spezifikationen ist, sodass sie normalerweise in den meisten von ihnen standardmäßig bereits installiert ist.

Trotz seines fortgeschrittenen Alters Administratoren verwenden AWK immer noch aktiv um Routinearbeiten im Zusammenhang mit dem Parsen verschiedener Arten von Textdateien und dem Generieren einfacher Ergebnisstatistiken durchzuführen.

Dieser Befehl stellt eine Skriptsprache für die Textverarbeitung bereit, mit der wir: Variablen definieren, Zeichenfolgen und arithmetische Operatoren verwenden, Flusskontrolle und Schleifen verwenden und formatierte Berichte erstellen können. Tatsächlich ist Awk mehr als nur ein einfacher Musterverarbeitungsbefehl, es ist eine ganze semantische Analysesprache.

Die wichtigsten neuen Funktionen von GNU Awk 5.2

In dieser neuen Version, die vorgestellt wird, wird dies hervorgehoben experimentelle Unterstützung für den PMA-Speichermanager hinzugefügt (persistent malloc), mit dem Sie die Werte von Variablen, Arrays und benutzerdefinierten Funktionen zwischen verschiedenen Läufen von awk speichern können.

Eine weitere Änderung, die in dieser neuen Version auffällt, ist die folgende geänderte Vergleichslogik von Zahlen, die sich an der in der Sprache C verwendeten Logik ausrichten. Die Änderung betrifft hauptsächlich den Vergleich von Infinity- und NaN-Werten mit normalen Nummern.

Darüber hinaus auch Es wird darauf hingewiesen, dass die Fähigkeit, die FNV1-A-Hash-Funktion zu verwenden Bei assoziativen Arrays wird es aktiviert, indem die Umgebungsvariable AWK_HASH auf "fnv1a" gesetzt wird.

Im BWK-Modus ermöglicht die standardmäßige Angabe des Flags „–traditional“ die Kompatibilität mit zuvor eingeschlossenen Bereichsausdrücken mit der Option „-r“ („–re-interval“).

Die rwarray-Erweiterung bietet neue Funktionen writeall() und readall(), um alle Variablen und Arrays gleichzeitig zu schreiben und zu lesen.

Darüber hinaus, Unterstützung für hochpräzise Arithmetik, wurde unter Verwendung der MPFR-Bibliothek implementiert, zusätzlich zu aus der Verantwortlichkeit des GNU Awk-Betreuers entfernt und an einen Enthusiasten eines Drittanbieters übertragen. Es wird darauf hingewiesen, dass die Implementierung des MPFR-Modus von GNU Awk als Fehler angesehen wird. Im Falle einer nachhaltigen Zustandsänderung ist geplant, dieses Feature vollständig aus GNU Awk zu entfernen.

Von den anderen Änderungen das hebt sich von dieser neuen Version ab:

  • Aktualisierte Build-Infrastrukturkomponenten Libtool 2.4.7 und Bison 3.8.2.
  • Unterstützung für das Kompilieren mit CMake entfernt (Codeunterstützung für CMake war nicht gefragt und wurde fünf Jahre lang nicht aktualisiert).
  • Die Funktion mkbool() wurde hinzugefügt, um boolesche Werte zu erstellen, die Zahlen sind, aber als boolescher Typ behandelt werden.
  • Gawkbug-Skript zum Melden von Fehlern hinzugefügt.
  • Bei Syntaxfehlern wird ein sofortiges Herunterfahren bereitgestellt, wobei Probleme mit Fuzzing-Tools behoben werden.
  • Es wurden zahlreiche kleinere Codebereinigungen und Fehlerbehebungen durchgeführt.
  • Die Unterstützung für die Betriebssysteme OS/2 und VAX/VMS wurde entfernt.

Schließlich, wenn Sie mehr darüber wissen möchtenkönnen Sie die Details überprüfen im folgenden Link. 


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.