เมื่อปลายเดือนที่แล้วเราได้แบ่งปันข่าวนี้ในบล็อกว่า Brian Kernighan หนึ่งในผู้สร้าง AWK ได้ยืนยันว่า ดำเนินการต่อหลังรหัส AWKให้การสนับสนุนและปรับปรุงภาษาการประมวลผลนี้ (คุณสามารถปรึกษาข่าวใน ลิงค์ต่อไปนี้.)
เหตุผลที่พูดถึงเรื่องนี้ก็คือว่าเมื่อไม่นานนี้ เปิดตัว GNU-Gawk เวอร์ชันใหม่ 5.2.0 ของภาษาการเขียนโปรแกรม AWK
AWK ได้รับการพัฒนาในปี 70 และไม่มีการเปลี่ยนแปลงที่สำคัญตั้งแต่กลางทศวรรษ 80 เมื่อมีการกำหนดแกนหลักของภาษาซึ่งทำให้สามารถรักษาเสถียรภาพดั้งเดิมและความเรียบง่ายของภาษาไว้ได้ตลอดเวลาและเมื่อเวลาผ่านไป ทศวรรษ.
AWK เป็นหนึ่งในยูทิลิตี้คอนโซลตัวแรก เป็นที่นิยมสำหรับการจัดการ (การจัดการ/การแยก) ข้อมูลโดยเพิ่มฟังก์ชันการทำงานของไปป์ไลน์ UNIX ให้สูงสุด ภาษาที่ให้บริการโดยยูทิลิตี้นี้ในปัจจุบันเป็นมาตรฐานในระบบปฏิบัติการประเภท UNIX ที่ทันสมัยเกือบทั้งหมด มากจนเป็นส่วนหนึ่งของข้อกำหนดพื้นฐานของ UNIX ดังนั้นจึงมักพบว่ามีการติดตั้งไว้แล้วในส่วนใหญ่โดยค่าเริ่มต้น
แม้ว่าเขาจะอายุมากแล้วก็ตาม ผู้ดูแลระบบยังคงใช้งาน AWK . อยู่ เพื่อทำงานประจำวันที่เกี่ยวข้องกับการแยกวิเคราะห์ไฟล์ข้อความประเภทต่างๆ และสร้างสถิติผลลัพธ์อย่างง่าย
คำสั่งนี้จัดเตรียมภาษาสคริปต์สำหรับการประมวลผลข้อความที่เราสามารถทำได้: กำหนดตัวแปร ใช้สตริงและตัวดำเนินการทางคณิตศาสตร์ ใช้การควบคุมโฟลว์และลูป และสร้างรายงานที่จัดรูปแบบ อันที่จริง Awk เป็นมากกว่าคำสั่งประมวลผลรูปแบบง่ายๆ มันคือภาษาการวิเคราะห์เชิงความหมายทั้งหมด
คุณสมบัติใหม่หลักของ GNU Awk 5.2
ในเวอร์ชั่นใหม่ที่นำเสนอนี้ขอเน้นว่า เพิ่มการรองรับรุ่นทดลองสำหรับตัวจัดการหน่วยความจำ pma (malloc แบบถาวร) ซึ่งช่วยให้คุณบันทึกค่าของตัวแปร อาร์เรย์ และฟังก์ชันที่ผู้ใช้กำหนดเองระหว่างการทำงานต่างๆ ของ awk
การเปลี่ยนแปลงอีกอย่างที่โดดเด่นในเวอร์ชันใหม่นี้ก็คือ เปลี่ยนตรรกะการเปรียบเทียบ ของตัวเลขซึ่งสอดคล้องกับตรรกะที่ใช้ในภาษาซี สำหรับผู้ใช้ การเปลี่ยนแปลงส่วนใหญ่ส่งผลต่อการเปรียบเทียบค่า Infinity และ NaN ด้วยตัวเลขปกติ
นอกจากนั้นยัง เป็นที่สังเกตว่าความสามารถในการใช้ฟังก์ชันแฮช FNV1-A ใน associative arrays จะเปิดใช้งานโดยการตั้งค่าตัวแปรสภาพแวดล้อม AWK_HASH เป็น "fnv1a"
ในโหมด BWK การระบุแฟล็ก “–traditional” โดยค่าเริ่มต้นจะเปิดใช้งานความเข้ากันได้กับนิพจน์ช่วงที่รวมไว้ก่อนหน้านี้ด้วยตัวเลือก “-r” (“–re-interval”)
ส่วนขยาย rwarray มีฟังก์ชันใหม่ writeall() และ readall() เพื่อเขียนและอ่านตัวแปรและอาร์เรย์ทั้งหมดพร้อมกัน
นอกจากนั้นแล้ว, รองรับเลขคณิตความแม่นยำสูง, ได้ดำเนินการโดยใช้ไลบรารี MPFR นอกเหนือจาก ลบออกจากความรับผิดชอบของผู้ดูแล GNU Awk และโอนไปยังผู้สนใจบุคคลที่สาม สังเกตว่าการใช้งานโหมด MPFR ของ GNU Awk ถือเป็นจุดบกพร่อง ในกรณีที่มีการเปลี่ยนแปลงสถานะอย่างต่อเนื่อง มีการวางแผนที่จะลบคุณลักษณะนี้ออกจาก GNU Awk โดยสมบูรณ์
จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่นกว่ารุ่นใหม่นี้:
- อัปเดตส่วนประกอบโครงสร้างพื้นฐานของบิลด์ Libtool 2.4.7 และ Bison 3.8.2
- ลบการสนับสนุนการคอมไพล์ด้วย CMake (การสนับสนุนโค้ดสำหรับ CMake ไม่ต้องการและไม่อัปเดตเป็นเวลาห้าปี)
- เพิ่มฟังก์ชัน mkbool() เพื่อสร้างค่าบูลีนที่เป็นตัวเลข แต่จะถือว่าเป็นประเภทบูลีน
- เพิ่มสคริปต์ gawkbug เพื่อรายงานข้อบกพร่อง
- มีการปิดระบบทันทีเมื่อเกิดข้อผิดพลาดทางไวยากรณ์ แก้ไขปัญหาโดยใช้เครื่องมือ fuzzing
- มีการล้างโค้ดเล็กน้อยและการแก้ไขข้อบกพร่องมากมาย
- การสนับสนุนระบบปฏิบัติการ OS/2 และ VAX/VMS ถูกลบออก
ในที่สุด, หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้คุณสามารถตรวจสอบรายละเอียด ในลิงค์ต่อไปนี้.