คำสั่งเหล่านี้จะพิมพ์คอลัมน์สุดท้ายของไฟล์ที่คั่นด้วยช่องว่าง:
awk '{print $NF}' file
ในawk, NFคือจำนวนของเขตข้อมูลและ$NFเป็นเขตที่ผ่านมา
perl -lane 'print $F[$#F]' file
-aแยกไฟล์บนช่องว่างออกเป็นอาเร@Fย์$#Fคือจำนวนองค์ประกอบในอาเรย์$F[$#F]เป็นองค์ประกอบสุดท้าย -nวิธีการอ่านไฟล์ที่ได้รับในบรรทัดคำสั่งและใช้สคริปต์ที่ผ่านไป-eแต่ละบรรทัด -lเพียงเพิ่มอักขระขึ้นบรรทัดใหม่ ( \n) ในแต่ละprintข้อความสั่ง
sed 's/.* //g'
นิพจน์ทั่วไปอย่างง่ายที่จับคู่ทุกอย่างกับช่องว่างสุดท้ายและลบออกโดยเหลือเพียงคอลัมน์สุดท้าย
rev file | cut -d' ' -f 1 | rev
revย้อนกลับเอาต์พุตดังนั้นฟิลด์สุดท้ายคือฟิลด์แรกcutด้วยพื้นที่ตัวคั่นเพื่อพิมพ์และrevกลับข้อความเป็นปกติ นี้ได้รับรางวัล' T ทำงานถ้าคุณมีช่องว่างต่อเนื่อง
จากข้อมูลที่คุณป้อนฉันคาดเดาว่าคุณไม่ต้องการคอลัมน์สุดท้าย แต่เป็นคอลัมน์สุดท้ายหรือหนึ่งคอลัมน์สุดท้าย ในกรณีนี้ใช้สิ่งเหล่านี้เพื่อพิมพ์ 2 ( 8.39 Mbits/sec) ล่าสุด
awk '{print $(NF-1),$NF}' file
perl -lane 'print "$F[$#F-1] $F[$#F]"' file
sed 's/.* \(.* .*\)/\1/' file
rev file | cut -d' ' -f 1,2 | rev
และสิ่งเหล่านี้เพื่อพิมพ์ penultimate ( 8.39):
awk '{print $(NF-1)}' file
perl -lane 'print $F[$#F-1]' file
sed 's/.* \(.*\) .*/\1/' file
rev file | cut -d' ' -f 2 | rev
Mbits/secสิ่งที่คุณต้องการหรือ 2 คอลัมน์สุดท้าย?