gpt4 book ai didi

ruby - 在 Ruby 中搜索大文件的更简单方法?

转载 作者:数据小太阳 更新时间:2023-10-29 07:11:10 24 4
gpt4 key购买 nike

我正在编写一个简单的日志嗅探器,它将在日志中搜索表明我支持的软件存在问题的特定错误。它允许用户指定日志路径并指定他们想要搜索多少天前。

如果用户关闭日志滚动,日志文件有时会变得非常大。目前我正在做以下事情(虽然还没有完成):

File.open(@log_file, "r") do |file_handle|
file_handle.each do |line|
if line.match(/\d+++-\d+-\d+/)
etc...

line.match 显然会查找我们在日志中使用的日期格式,其余逻辑将在下面。但是,有没有更好的方法来搜索没有 .each_line 的文件?如果没有,我完全同意。我只是想确保我使用的是可用的最佳资源。

谢谢

最佳答案

  • fgrep 作为独立的或从 system('fgrep ...') 调用可能是更快的解决方案
  • file.readlines 在速度上可能更好,但这是一个时空权衡
  • 查看this研究很少 - 最后的方法似乎相当快。

关于ruby - 在 Ruby 中搜索大文件的更简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16400099/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com