ด้วยawk
:
awk 'NF{NF-=1};1' <in >out
หรือ:
awk 'NF{NF--};1' <in >out
หรือ:
awk 'NF{--NF};1' <in >out
แม้ว่ามันจะดูเหมือนของวูดู แต่ก็ใช้ได้ มีสามส่วนสำหรับแต่ละคำสั่ง awk เหล่านี้
สิ่งแรกคือNF
ซึ่งเป็นเงื่อนไขเบื้องต้นสำหรับส่วนที่สอง NF
เป็นตัวแปรที่มีจำนวนฟิลด์ในบรรทัด ใน AWK สิ่งที่จริงถ้าพวกเขาไม่ได้เป็น 0 ""
หรือสตริงที่ว่างเปล่า ดังนั้นส่วนที่สอง (โดยที่NF
ลดลง) จะเกิดขึ้นถ้าNF
ไม่ใช่ 0
ส่วนที่สอง (อย่างใดอย่างหนึ่งNF-=1
NF--
หรือ--NF
) เป็นเพียงการลบหนึ่งจากNF
ตัวแปร สิ่งนี้จะป้องกันไม่ให้มีการพิมพ์ฟิลด์สุดท้ายเนื่องจากเมื่อคุณเปลี่ยนฟิลด์ (ลบฟิลด์สุดท้ายในกรณีนี้) ให้awk
สร้างใหม่$0
เชื่อมต่อทุกฟิลด์โดยคั่นด้วยช่องว่างตามค่าเริ่มต้น $0
ไม่มีฟิลด์สุดท้ายอีกต่อไป
1
ส่วนสุดท้ายคือ true
มันไม่ได้วิเศษก็ใช้เช่นเดียวกับการแสดงออกที่หมายถึง หากมีการawk
ประเมินการแสดงออกให้เป็นจริงโดยไม่มีการกระทำใด ๆ ที่เกี่ยวข้องดำเนินการเริ่มต้นคือawk
print $0