我在 Unix 上工作。
我想从当前日期的指定时间范围内的日志中获取信息。例如,我想要从今天日期 00:00 到 09:00 的日志文件中的数据。
示例日志条目:
13/10/16 14:45:02 <batchspeedchange> <BELLBD.BD77350A.G6987V00> <> FAILED FILE FORMAT VALIDATION - ERROR:-213:rawData cannot contain tokens
Run Code Online (Sandbox Code Playgroud)
如何从这样的日志文件中获取输出?
假设日期看起来像您显示的“HH:MM”,并且假设日期出现在第二个字段中,您可以使用 awk:
awk -v start=00:00 -v stop=09:00 'start <= $2 && $2 < stop' file.log
Run Code Online (Sandbox Code Playgroud)
[rant] 我对日期格式很挑剔,这个很糟糕:“09/10/11”是什么日期?[/咆哮]
无论如何,假设它是“YY/MM/DD”
awk -v date="$(date +%y/%m/%d)" \
-v start=00:00:00 \
-v stop=09:00:00 \
-v search="File format not found" \
'$1 == date && start <= $2 && $2 < stop && $0 ~ search' file.log
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3705 次 |
| 最近记录: |