如何从日志文件中提取过去一小时的日志



如何从日志文件中提取最近一小时的日志?

这是日志文件

2017-05-22 11:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 12:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 12:10:20 < ?xml version>
sample text sample text
sample text sample text
sample text sample text
sample text sample text
sample text sample text
sample text sample text 
sample text sample text
sample text sample text
sample text sample text
2017-05-22 11:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 12:10:20 < ?xml version>
2017-05-22 11:10:20 < ?xml version>
2017-05-22 12:10:20 < ?xml version>
sample text sample text
sample text sample text
sample text sample text
sample text sample text
sample text sample text
sample text sample text 
sample text sample text
sample text sample text
sample text sample text
2017-05-22 12:10:20 < ?xml version>
sample text sample text
2017-05-22 12:10:20 < ?xml version>

假设时间为 12:30,因此输出如下所示 2017-05-22 12:10:20 <?xml 版本> 2017-05-22 12:10:20 <?xml 版本> 示例文本示例文本 示例文本示例文本 示例文本示例文本 示例文本示例文本 示例文本示例文本 示例文本示例文本 示例文本示例文本 示例文本示例文本 示例文本示例文本 2017-05-22 12:10:20 <?xml 版本> 2017-05-22 12:10:20 <?xml 版本> 示例文本示例文本 2017-05-22 12:10:20 <?xml 版本>

尝试了一些选项,但它给了我所有日志:-(

grep "^$(date -d -1hour +'%Y-%m-%d %H')" text.log
sed -e "1,/^$(date -d -1hour +'%Y-%m-%d %H')/d" text.log

在触发这些查询时,它给了我所有日志而不是一个小时。请给我一些建议?

试一试:

grep "$(date -v-60M +"%Y-%m-%d %H")" text.log

最新更新