【问题标题】:Command Line Command to list Certain Records in Apache Log FIle命令行命令列出 Apache 日志文件中的某些记录
【发布时间】:2011-12-06 21:58:43
【问题描述】:

我想在 apache 访问日志文件中列出一个记录块。我知道如何使用 tail -x,但我想列出文件中的某些记录,而不仅仅是文件的结尾。

命令行命令会是什么样子?

谢谢。

【问题讨论】:

  • 您如何确定那些“某些记录”?
  • @Pekka - 试图在今天早上 8 点到 9 点之间磨练访问记录。但我愿意做类似 >“list 17500-18000 /log/file/name”之类的事情,如果这能让我进入一个记录块

标签: apache list logging


【解决方案1】:
sed -n 17500,18000p filename.txt

【讨论】:

  • 优秀。谢谢@KingCrunch。我认为“p”代表暂停...如何浏览结果?
  • p 表示“打印”。像 linux 世界中的许多事情一样,您使用不同的工具(“一个工具完成一项任务”)进行分页:sed -n 17500,18000p filename.txt | less
【解决方案2】:

您能否使用grep 搜索日志文件并指定一个正则表达式以匹配所需的时间范围?

例如,如果您的日志条目使用时间格式 DD/MMM/YYYY:HH:MM:SS,则此命令将打印 2011 年 12 月 6 日上午 8:00 到 8:59 的条目。

grep '06/Dec/2011:08' logfile

【讨论】:

  • 好东西。要对结果进行分页,只需将输出通过管道传递给程序。例如:grep '06/Dec/2011:08' 日志文件 |少。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 2017-05-28
  • 2014-07-17
  • 1970-01-01
  • 2020-10-18
  • 2016-01-09
相关资源
最近更新 更多