คำสั่งสำหรับการโหลดไฟล์จากดิสก์เพื่อแสดงการเปลี่ยนแปลงเมื่อใช้“ น้อยกว่า”


3

ในlessมีคำสั่งสำหรับการโหลดไฟล์จากดิสก์เพื่อที่น้อยกว่าจะแสดงการเปลี่ยนแปลงใด ๆ ที่ทำกับไฟล์ตั้งแต่น้อยเริ่มต้น? สิ่งนี้จะช่วยให้ฉันต้องยุติและเริ่มต้นใหม่lessหากฉันต้องการเห็นการเปลี่ยนแปลงของไฟล์ที่ฉันกำลังดูอยู่


ดังนั้นคุณหมายถึงแทนที่จะเป็นข้อมูลต่อท้ายไฟล์โดยใช้สิ่งที่tail -f -n 200 some_file.txtคุณต้องการlessโหลดไฟล์ซ้ำ แต่แสดงเฉพาะเนื้อหาที่มีการเปลี่ยนแปลงซึ่งอาจเป็นที่ใดก็ได้ในไฟล์หรือไม่ ต้นกลางหรือปลาย?
JakeGould

คำตอบ:


5

มีสองคำสั่งที่เกี่ยวข้องซึ่งอาจมีรายละเอียดอยู่ในคู่มือละเอียดสำหรับ less(1)

   R      Repaint the screen, discarding any buffered  input.   Useful  if
          the file is changing while it is being viewed.

   F      Scroll  forward, and keep trying to read when the end of file is
          reached.  Normally this command would be used  when  already  at
          the  end of the file.  It is a way to monitor the tail of a file
          which is growing while it is being  viewed.   (The  behavior  is
          similar to the "tail -f" command.)

1

Rสำหรับการทาสีใหม่จะไม่โหลดไฟล์ซ้ำ [1]

วิธีหลีกเลี่ยงปัญหาที่จะโหลดไฟล์hqซ้ำอีกครั้งคือกดซึ่งจะเปิดหน้าวิธีใช้จากนั้นออกจาก มันมีผลข้างเคียงของการบังคับให้โหลดไฟล์ซ้ำ


[1] ต่อไปนี้เป็นตัวอย่างของสถานการณ์ที่Rต้องทำและไม่โหลดซ้ำ:

  • >และ>>การเปลี่ยนแปลง: รับการโหลดซ้ำ
  • sed -i, gEdit, TextEdit: อย่าโหลดซ้ำ
  • บน Linux viการเปลี่ยนแปลง: โหลดใหม่
  • สำหรับ Mac viการเปลี่ยนแปลง: อย่าโหลดซ้ำ

ฉันเชื่อว่าความแตกต่างนั้นเกิดขึ้นกับการเปลี่ยนแปลงของ inode (คุณสามารถตรวจสอบได้ls -i foo.txt) หากไอโหนดเปลี่ยนไปRจะไม่ทำงาน


ทำงานได้ดีสำหรับฉันบน Mac less --versionให้less 487 (POSIX regular expressions)
john sullivan

1
@johnsullivan ขอบคุณสำหรับความคิดเห็น ฉันทบทวนคำตอบของฉันอีกครั้งและพบว่าขึ้นอยู่กับสถานการณ์ เมื่อใช้viเพื่อแก้ไขบน Mac Rไม่ทำงาน แต่viบน Linux ทำ ดูคำตอบที่แก้ไขของฉันสำหรับรายละเอียดเพิ่มเติม
wisbucky
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.