มีคำสั่ง linux หรือวิธีการดูบันทึกจากล่างขึ้นบนมากกว่าจากบนลงล่าง ฉันรู้tail -n <number of lines>แต่มีบางอย่างที่ฉันสามารถเลื่อนและเลื่อนจากล่างขึ้นบนได้จริงหรือ
มีคำสั่ง linux หรือวิธีการดูบันทึกจากล่างขึ้นบนมากกว่าจากบนลงล่าง ฉันรู้tail -n <number of lines>แต่มีบางอย่างที่ฉันสามารถเลื่อนและเลื่อนจากล่างขึ้นบนได้จริงหรือ
คำตอบ:
บางระบบมีซึ่งเป็นสุ่มชื่อย้อนหลังtac catหากปราศจากสิ่งนั้นคุณยังสามารถทำอะไรได้อีกเช่น
awk '{print NR ":" $0}' $file | sort -t: -k 1nr,1 | sed 's/^[0-9][0-9]*://'
cat -nเป็นเหมือนawk '{print NR,$0}'ดังนั้นน้ำหนักเบามากขึ้นเล็กน้อย
tacอาจจะยังขาดรุ่น BSD มาของcat(USG รสcatไม่ได้มี-v, -nฯลฯ ฉันคิดว่าสิ่งที่เรียกฉัน "เก่า ****".)
ฉันคิดว่าless +Gสิ่งที่คุณกำลังมองหา - มันจะโหลดไฟล์ในตอนท้ายและคุณสามารถใช้ลูกศรขึ้น (หรือk) เพื่อเลื่อนกลับ ภายในตัวแสดงgจะนำคุณไปยังด้านบนของไฟล์และ Gจะพาคุณกลับไปยังจุดสิ้นสุด และFจะเลื่อนไปจนสุดและลองอ่านtail -fต่อไปเรื่อย ๆเช่น
?ใช้สำหรับค้นหาย้อนหลังในไฟล์
tacคำสั่งเป็นเหมือน "แมว" กลับถ้านั่นคือสิ่งที่คุณกำลังหลัง
หากคุณต้องการดูไฟล์โดยเริ่มที่ด้านล่างทำไมคุณไม่ใช้เครื่องมือแก้ไขหรือ "น้อยกว่า"
คุณสามารถเรียกใช้lessแล้วใช้ M-> (นั่นคือคีย์เมตาปกติคือ alt และ '>' ในเวลาเดียวกัน) เพื่อไปที่ด้านล่างของไฟล์
lessรองรับการเลื่อน
>(ไม่ Meta หรือ ESC) Gและ
หากคุณกำลังเขียน nagios ให้ตรวจสอบ perl module File :: ReadBackwards ซึ่งเป็นประโยชน์
ฉันใช้สคริปต์นี้เพื่ออ่านไฟล์จากล่างขึ้นบน
#!/bin/bash
echo -n elpmas.file # resulting file
ctr_line=0
while read line; do
let ctr_line++
tail -n $ctr_line | head -n 1 >> elpmas.file
done <sample.file
ถ้าsample.fileมี
1
2
3
ผลลัพธ์elpmas.fileจะเป็น
3
2
1
การใช้งาน tac ยังสามารถใช้งานได้เช่น:
tail -n 3 /var/log/dmesg | tac
tacกับlesstac $@ | less
sudo bash -c 'echo "tac \$@ | less" > /usr/local/bin/tacless'
sudo chmod +x /usr/local/bin/tacless
tacless /var/log/auth.log