GNU Awk 5.2 hadir dengan pengelola baru, dukungan pma, mode MPFR, dan lainnya

perintah-gawk

Di Linux digunakan untuk memindai pola dan bahasa proses.

Pada akhir bulan lalu kami berbagi di sini di blog berita bahwa Brian Kernighan, salah satu pencipta AWK telah mengkonfirmasi bahwa berlanjut di belakang kode AWK, memberikan dukungan dan meningkatkan bahasa pemrosesan ini (Anda dapat berkonsultasi dengan berita di link berikut.)

Alasan untuk menyebutkan ini adalah bahwa baru-baru ini versi baru dari implementasi GNU-Gawk dirilis 5.2.0, dari bahasa pemrograman AWK.

AWK dikembangkan pada 70-an dan belum mengalami perubahan signifikan sejak pertengahan 80-an, ketika tulang punggung utama bahasa didefinisikan, yang memungkinkan untuk mempertahankan stabilitas dan kesederhanaan asli bahasa dari waktu ke waktu. dekade.

AWK adalah salah satu utilitas konsol pertama populer untuk mengelola (menangani/mengekstrak) data dengan memaksimalkan fungsionalitas pipeline UNIX. Bahasa yang disediakan oleh utilitas ini saat ini merupakan standar di hampir semua sistem operasi tipe UNIX modern, sedemikian rupa sehingga merupakan bagian dari spesifikasi dasar UNIX, sehingga biasanya ditemukan sudah terinstal di sebagian besar secara default.

Meski usianya sudah lanjut, admin masih aktif menggunakan AWK untuk melakukan pekerjaan rutin yang terkait dengan penguraian berbagai jenis file teks dan menghasilkan statistik sederhana yang dihasilkan.

Perintah ini menyediakan bahasa skrip untuk pemrosesan teks yang dengannya kita dapat: Mendefinisikan variabel, menggunakan string dan operator aritmatika, menggunakan kontrol aliran dan loop, dan menghasilkan laporan yang diformat. Sebenarnya, Awk lebih dari sekadar perintah pemrosesan pola sederhana, ini adalah bahasa analisis semantik keseluruhan.

Fitur baru utama dari GNU Awk 5.2

Dalam versi baru yang disajikan ini, disorot bahwa menambahkan dukungan eksperimental untuk manajer memori pma (malloc persisten), yang memungkinkan Anda untuk menyimpan nilai variabel, array, dan fungsi yang ditentukan pengguna di antara berbagai proses awk.

Perubahan lain yang menonjol dalam versi baru ini adalah mengubah logika perbandingan angka, yang sejalan dengan logika yang digunakan dalam bahasa C. Untuk pengguna, perubahan terutama mempengaruhi perbandingan nilai Infinity dan NaN dengan angka biasa.

Selain itu, juga dicatat bahwa kemampuan untuk menggunakan fungsi hash FNV1-A pada array asosiatif diaktifkan dengan menyetel variabel lingkungan AWK_HASH ke "fnv1a".

Dalam mode BWK, menetapkan bendera “–tradisional” secara default memungkinkan kompatibilitas dengan ekspresi rentang yang disertakan sebelumnya dengan opsi “-r” (“–re-interval”).

Ekstensi rwarray menyediakan fungsi writeall() dan readall() baru untuk menulis dan membaca semua variabel dan array sekaligus.

Selain itu, dukungan untuk aritmatika presisi tinggi, telah diimplementasikan menggunakan perpustakaan MPFR, selain dihapus dari tanggung jawab pengelola GNU Awk dan ditransfer ke penggemar pihak ketiga. Perlu dicatat bahwa implementasi mode MPFR dari GNU Awk dianggap sebagai bug. Jika terjadi perubahan status yang berkelanjutan, direncanakan untuk menghapus fitur ini sepenuhnya dari GNU Awk.

Dari perubahan lainnya yang menonjol dari versi baru ini:

  • Diperbarui membangun komponen infrastruktur Libtool 2.4.7 dan Bison 3.8.2.
  • Menghapus dukungan untuk kompilasi dengan CMake (dukungan kode untuk CMake tidak diminati dan tidak diperbarui selama lima tahun).
  • Menambahkan fungsi mkbool() untuk membuat nilai boolean yang berupa angka, tetapi diperlakukan sebagai tipe boolean.
  • Menambahkan skrip gawkbug untuk melaporkan bug.
  • Shutdown instan disediakan pada kesalahan sintaks, menyelesaikan masalah menggunakan alat fuzzing.
  • Ada banyak pembersihan kode kecil dan perbaikan bug.
  • Dukungan untuk sistem operasi OS/2 dan VAX/VMS telah dihapus.

Akhirnya, jika Anda tertarik untuk mengetahui lebih banyak tentangnya, Anda dapat memeriksa detailnya Di tautan berikut. 


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.