相关疑难解决方法(0)

从文件中读取指定范围的行

我有一个包含 100000 行的文件,我如何在 linux 下从第 5555 行到第 7777 行获取行。

谢谢大家。

linux files sed

15
推荐指数
3
解决办法
7418
查看次数

从 syslog 日志文件中快速提取时间范围?

我有一个标准 syslog 格式的日志文件。它看起来像这样,除了每秒数百行:

Jan 11 07:48:46 blahblahblah...
Jan 11 07:49:00 blahblahblah...
Jan 11 07:50:13 blahblahblah...
Jan 11 07:51:22 blahblahblah...
Jan 11 07:58:04 blahblahblah...
Run Code Online (Sandbox Code Playgroud)

它不会恰好在午夜滚动,但它永远不会超过两天。

我经常需要从这个文件中提取一个时间片。我想为此编写一个通用脚本,我可以调用它:

$ timegrep 22:30-02:00 /logs/something.log
Run Code Online (Sandbox Code Playgroud)

...并让它从 22:30 开始拉出线路,越过午夜边界,直到第二天凌晨 2 点。

有几个注意事项:

  • 我不想费心在命令行上输入日期,只是时间。该程序应该足够聪明以解决它们。
  • 日志日期格式不包括年份,因此它应该根据当前年份进行猜测,但仍然在元旦前后做正确的事情。
  • 我希望它很快——它应该使用这样的事实,即行是为了在文件中寻找并使用二进制搜索。

在我花大量时间写这篇文章之前,它是否已经存在?

linux log-files grep

12
推荐指数
2
解决办法
1万
查看次数

标签 统计

linux ×2

files ×1

grep ×1

log-files ×1

sed ×1