3
ประมวลผลบรรทัดสุดท้ายก่อนโดยใช้ awk
ฉันมีไฟล์ข้อมูลที่ฉันต้องการทำให้เป็นมาตรฐานโดยใช้awkตามดาต้าพอยน์ล่าสุด ดังนั้นฉันต้องการเข้าถึงจุดข้อมูลสุดท้ายก่อนเพื่อทำให้ข้อมูลเป็นมาตรฐานและดำเนินการตามปกติ วิธีต่อไปนี้ใช้tacสองครั้งเพื่อทำงาน แต่อาจจะซับซ้อนกว่าที่จำเป็น $ cat file 0 5 1 2 2 3 3 4 $ tac file | awk 'NR==1{norm=$2} {print $1, $2/norm}' | tac 0 1.25 1 0.5 2 0.75 3 1 คำถามของฉันมีดังต่อไปนี้: เป็นไปได้หรือไม่ที่จะได้รับผลลัพธ์ข้างต้นโดยใช้ awk เท่านั้น ฉันคิดว่าคำตอบคือ "ไม่ awk สแกนไฟล์ทีละบรรทัด" แต่ฉันเปิดให้คำแนะนำสำหรับทางเลือก