先月末、私たちはブログで次のニュースを共有しました。 AWK の作成者の XNUMX 人である Brian Kernighan 氏 ことを確認していた AWK コードの後ろに続く、この処理言語のサポートと改善を行っています (ニュースは次の場所で参照できます)。 次のリンク.)
これを言及する理由は、最近 GNU-Gawk 実装の新しいバージョンがリリースされました AWK プログラミング言語の 5.2.0。
AWK は 70 年代に開発され、言語の主要なバックボーンが定義された 80 年代半ば以降、大幅な変更は行われていません。何十年も。
AWK は最初のコンソール ユーティリティの XNUMX つです。 UNIX パイプラインの機能を最大限に活用してデータを管理 (処理/抽出) するためによく使用されます。 このユーティリティによって提供される言語は現在、ほぼすべての最新の UNIX タイプのオペレーティング システムで標準になっているため、基本的な UNIX 仕様の一部となっているため、通常、ほとんどのオペレーティング システムにデフォルトでインストールされています。
高齢にもかかわらず、 管理者は依然として積極的に AWK を使用しています さまざまな種類のテキスト ファイルの解析と、結果として得られる簡単な統計の生成に関連するルーチン作業を実行します。
このコマンドは、テキスト処理用のスクリプト言語を提供します。変数の定義、文字列と算術演算子の使用、フロー制御とループの使用、書式設定されたレポートの生成を行うことができます。 実際、Awk は単なるパターン処理コマンドではなく、完全な意味解析言語です。
GNU Awk 5.2 の主な新機能
提示されるこの新しいバージョンでは、次のことが強調されています。 pma メモリ マネージャーの実験的サポートを追加 (persistent malloc) を使用すると、変数、配列、およびユーザー定義関数の値を awk の異なる実行間で保存できます。
この新しいバージョンで際立っているもうXNUMXつの変更点は、 比較ロジックの変更 これは、C 言語で使用されるロジックと一致します。ユーザーにとっては、 この変更は、主に Infinity 値と NaN 値の比較に影響します 通常の数字で。
それに加えて、 FNV1-A ハッシュ関数を使用する機能に注意してください。 連想配列では、AWK_HASH 環境変数を「fnv1a」に設定することで有効になります。
BWK モードでは、デフォルトで「-traditional」フラグを指定すると、「-r」(「-re-interval」) オプションで以前に含まれていた範囲式との互換性が有効になります。
rwarray 拡張機能は、すべての変数と配列を一度に読み書きするための新しい writeall() および readall() 関数を提供します。
それに加えて、高精度演算のサポート、 に加えて、MPFR ライブラリを使用して実装されています。 GNU Awk メンテナの責任から削除 第三者の愛好家に転送されます。 GNU Awk の MPFR モード実装はバグと見なされることに注意してください。 持続的な状態変化が発生した場合、GNU Awk からこの機能を完全に削除する予定です。
その他の変更点 この新しいバージョンから際立っている:
- ビルド インフラストラクチャ コンポーネント Libtool 2.4.7 および Bison 3.8.2 を更新しました。
- CMake でのコンパイルのサポートを削除しました (CMake のコード サポートは需要がなく、XNUMX 年間更新されていませんでした)。
- 数値であるブール値を作成する mkbool() 関数が追加されましたが、ブール型として扱われます。
- バグを報告するための gawkbug スクリプトを追加しました。
- ファジング ツールを使用して問題を解決し、構文エラーで即時シャットダウンが提供されます。
- 多数のマイナー コードのクリーンアップとバグ修正が行われました。
- OS/2 および VAX/VMS オペレーティング システムのサポートは削除されました。
最後に、あなたがそれについてもっと知りたいのなら、詳細を確認できます 次のリンクで。