Reading the last n lines of a file in Ruby?

前端 未结 8 1095
北荒
北荒 2020-11-30 09:59

I need to read the last 25 lines from a file (for displaying the most recent log entries). Is there anyway in Ruby to start at the end of a file and read it backwards?

8条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-30 10:26

    Is the file large enough that you need to avoid reading the whole thing? If not, you could just do

    IO.readlines("file.log")[-25..-1]
    

    If it is to big, you may need to use IO#seek to read from near the end of the file, and continue seeking toward the beginning until you've seen 25 lines.

提交回复
热议问题