รับสีโดยใช้คำสั่งน้อยลงด้วย ccze: Shift + g ไม่ไปที่ท้ายไฟล์หรือไม่


9

ในเครื่องมือทั้งหมดที่จะได้รับสีด้วยlessคำสั่ง: -R, Pygments , GNU Source-highlight , vless , ... cczeทำให้ฉันได้รับการแปลด้วยคำสั่งด้านล่าง:

ccze -A < /path/to/log/file | less -R

แต่Shift+ gไม่ทำงานตามที่คาดไว้:

  • ฉันต้องกดCtrl+ cก่อน
  • ตามด้วยShift+ gแต่ไปที่ท้ายไฟล์ไม่ได้

ฉันพลาดอะไรไปหรือเปล่า?

คำตอบ:


7

ฉันเห็นพฤติกรรมที่คล้ายกันตามที่คุณอธิบายเมื่อฉันลองทำสิ่งนี้/var/log/syslogซึ่งมี2.1MBขนาดและรอบ22500เส้นยาว ฉันสงสัยว่านี่cczeเป็นส่วนหนึ่งที่ทำให้ฉันตำหนิ:

time ccze -A /var/log/syslog > foo

ซึ่งแสดงให้เห็นว่าcczeใช้เวลาประมาณ 55 วินาทีใน1.2GHzเครื่องของฉันเพื่อสร้างเอาต์พุตที่มีสี ฉันคาดว่านี่คือสิ่งที่ทำให้lessแขวนlessไม่สามารถไปที่จุดสิ้นสุดของผลลัพธ์ก่อนที่จะcczeสร้างมันเสร็จแล้วดังนั้นlessดูเหมือนว่าจะแขวน

ทางเลือกอื่นเพื่อทำให้การทำงานนี้ดีขึ้น:

  • เลือกเอาท์พุทมีgrep, sedฯลฯ cczeและจากนั้นเข้าไปในท่อ
  • Pre Colorize ไฟล์และเรียกlessว่า

มีเครื่องมือใดที่จะทำให้ไฟล์บันทึกสีล่วงหน้าหรือไม่?
quanta

ccze -A LOG > SOME_FILEผมคิดตามสายของ อาจถูกประหารชีวิตในงาน cron
ธ.ค.

สิ่งที่คุณต้องการมันจะต้องมีการส่งออกลำดับ ANSI? ฉันมักจะใช้vimสำหรับการดูบันทึกมันมีการเน้นไวยากรณ์ที่ดี เพียงทดสอบใน7 MBไฟล์บันทึกที่ไม่มีความล่าช้าที่น่าสังเกต
ธ.ค.

:se ft=sql/var/log/mysqld.logไม่ได้ทำให้ฉันมีความสุขเมื่อดู
quanta

1
นี่คือการปรับตัวที่syntax/messages.vimค่อนข้างเรียบง่ายsyn matchเท่านั้น Fetch มันนี่ใส่ลงและเรียกใช้~/.vim/syntax :set ft=mysqllog
ธ.ค.

0

ทั้ง Meta-> และ Meta- <ทำงานได้ดีอย่างสมบูรณ์แบบสำหรับฉัน ฉันคุ้นเคยกับพวกเขาเพราะพวกเขาทำเช่นเดียวกันใน emacs

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