ดูล็อกจากล่างขึ้นบน


35

มีคำสั่ง linux หรือวิธีการดูบันทึกจากล่างขึ้นบนมากกว่าจากบนลงล่าง ฉันรู้tail -n <number of lines>แต่มีบางอย่างที่ฉันสามารถเลื่อนและเลื่อนจากล่างขึ้นบนได้จริงหรือ

คำตอบ:


32

บางระบบมีซึ่งเป็นสุ่มชื่อย้อนหลังtac catหากปราศจากสิ่งนั้นคุณยังสามารถทำอะไรได้อีกเช่น

awk '{print NR ":" $0}' $file | sort -t: -k 1nr,1 | sed 's/^[0-9][0-9]*://'

8
+1 สำหรับแทคไม่ทราบเกี่ยวกับที่หนึ่ง :)
โยฮัน

cat -nเป็นเหมือนawk '{print NR,$0}'ดังนั้นน้ำหนักเบามากขึ้นเล็กน้อย
เกล็นแจ็คแมน

1
ฉันถูกสมมติว่าระบบได้โดยไม่ต้องtacอาจจะยังขาดรุ่น BSD มาของcat(USG รสcatไม่ได้มี-v, -nฯลฯ ฉันคิดว่าสิ่งที่เรียกฉัน "เก่า ****".)
geekosaur

44

ฉันคิดว่าless +Gสิ่งที่คุณกำลังมองหา - มันจะโหลดไฟล์ในตอนท้ายและคุณสามารถใช้ลูกศรขึ้น (หรือk) เพื่อเลื่อนกลับ ภายในตัวแสดงgจะนำคุณไปยังด้านบนของไฟล์และ Gจะพาคุณกลับไปยังจุดสิ้นสุด และFจะเลื่อนไปจนสุดและลองอ่านtail -fต่อไปเรื่อย ๆเช่น


n1 +1 :) ถ้าคุณใจดีมาก: คุณช่วยอธิบายวิธีค้นหาไฟล์จากล่างขึ้นบนเมื่อใช้งานน้อยลงด้วยการตั้งค่า + G?
Oleg Belousov

2
@OlegTikhonov แน่นอน ?ใช้สำหรับค้นหาย้อนหลังในไฟล์
mattdm

5

tacคำสั่งเป็นเหมือน "แมว" กลับถ้านั่นคือสิ่งที่คุณกำลังหลัง

หากคุณต้องการดูไฟล์โดยเริ่มที่ด้านล่างทำไมคุณไม่ใช้เครื่องมือแก้ไขหรือ "น้อยกว่า"


1
ปัญหาสองประการที่ฉันเห็นเมื่อใช้ตัวแก้ไขคือตัวแยกหน้า: ก) ตัวแก้ไขบางตัวไม่ทำงานอย่างถูกต้องกับการตัดการเชื่อมต่อเครือข่าย b) ผู้แก้ไขจำนวนมากแตะที่ไดเรกทอรี (โดยการสร้างไฟล์ swap / temp) ซึ่งเป็นข้อเสียเปรียบหากคุณต้องการรักษา mtime ของไดเรกทอรีให้เสถียร
Arcege

2

คุณสามารถเรียกใช้lessแล้วใช้ M-> (นั่นคือคีย์เมตาปกติคือ alt และ '>' ในเวลาเดียวกัน) เพื่อไปที่ด้านล่างของไฟล์ lessรองรับการเลื่อน


1
“การไปที่บรรทัดสุดท้าย” ฟังก์ชั่นนี้ยังมักจะผูกพันที่จะ>(ไม่ Meta หรือ ESC) Gและ
Chris Johnsen

@ Chris ฉันไม่ได้ตระหนักถึง Meta ไม่จำเป็นต้องน้อย แต่นั่นก็คือคุณจะใช้ใน Emacs
Carlos Rendon


0

ฉันใช้สคริปต์นี้เพื่ออ่านไฟล์จากล่างขึ้นบน


#!/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


-1

การละลาย: รวมtacกับless

tac $@ | less

ติดตั้ง

sudo bash -c 'echo "tac \$@ | less" > /usr/local/bin/tacless'
sudo chmod +x /usr/local/bin/tacless

การใช้

tacless /var/log/auth.log
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.