Awk Script
Last updated
Last updated
Assoc. Prof. Wiroon Sriborrirux, Founder of Advance Innovation Center (AIC) and Bangsaen Design House (BDH), Electrical Engineering Department, Faculty of Engineering, Burapha University
Awk ย่อมาจากตัวอักษรแรกของนักพัฒนาทั้งสามคนได้แก่ Aho, Weinberger, และ Kernighan ถือว่าเป็นภาษาโปรแกรมชนิดหนึ่งซึ่งมีไว้สำหรับการเข้าถึงข้อมูลที่มีลักษณะเป็นโครงสร้าง (structured data) และสามารถสร้างออกมาให้อยู่ในรูปแบบรายงานได้ คุณสมบัติสำคัญของ awk ประกอบไปด้วย
awk จะมองไฟล์ข้อมูลในลักษณะคล้ายฐานข้อมูลที่มี เรคอร์ด (record) และ ฟิลด์ (field)
awk จะมีตัวแปร (variables) ชุดคำสั่งตรวจสอบเงื่อนไข (conditional statement) และชุดคำสั่งทำซ้ำ (loop statement) เหมือนภาษาโปรแกรมทั่วไป
awk เตรียมตัวดำเนินการทางด้านเลขคณิต (arithmetic) และข้อความ (string)
awk สามารถสร้างออกมาให้อยู่ในรูปแบบรายงานได้
โดยที่ search pattern ก็คือชุด regular expression ส่วน Actions ก็คือชุดคำสั่งเชิงโปรแกรม ดังตัวอย่างการใช้คำสั่งข้างล่าง
awk สามารถแยกเรคคอร์ดในแต่ละบรรทัดที่คั่นด้วยอักขระช่องว่างออกมาเป็นฟิลด์ย่อยๆและถูกเก็บไว้ในตัวแปร $n โดยที่ n คือจำนวนเลขฟิลด์ โดยเริ่มต้นที่ $0 จะแทนด้วยข้อความทั้งหมดของบรรทัดนั้นๆ ส่วน $1 จนถึง $n นั้นจะเก็บข้อความที่ถูกแยกด้วยช่องว่างแต่ละคอลัมน์ ดังตัวอย่างข้างล่าง
สามารถใช้ $NF เพื่อระบุค่าฟิลด์ตัวสุดท้ายได้ ดังตัวอย่างข้างล่าง
คำสั่ง awk จะมีรูปแบบสำคัญอีกส่วนหนึ่งที่ใช้ในการกระทำคำสั่งตอนเริ่มต้น (Initialization) ก่อนที่่จะเริ่มดำเนินการวิเคราะห์แต่ละบรรทัดภายในไฟล์ และจะกระทำคำสั่งตอนสิ้นสุด (Final) หลังจากบรรทัดสุดท้ายดำเนินการเสร็จเรียบร้อยแล้ว โดยการใช้ BEGIN และ END ดังรูปแบบการเรียกใช้คำสั่งดังนี้
ตัวอย่างการใช้คำสั่ง awk แบบเต็มรูป
เพื่อความสะดวกยิ่งขึ้น นักพัฒนาสามารถเก็บคำสั่งลงในไฟล์สคริปท์ได้ เช่น เก็บลงในไฟล์ datalog.script ตัวอย่างการใช้คำสั่งเช่น
Practise More!