我想打印按当前时间过滤的日志文件中的行。
我现在的设置读取整个文件并仅打印匹配的行。在打印多行的同时,我应该如何停止 sed 读取整个文件。
通常我需要的行是日志中的 3 行和多行。
目前我使用:
timestamp=`date +"%Y-%m-%d %H:%M:%S"`
tac mylogfile | gsed -n "/^$timestamp/p" | tac
tac 在这个简单的演示中有点多余
示例数据:
2013-08-19 19:23:42
2013-08-19 19:23:42
2013-08-19 19:23:42
2013-08-19 19:23:42
2013-08-19 19:23:43
2013-08-19 19:23:43
2013-08-19 19:23:43
2013-08-19 19:23:44
2013-08-19 19:23:44
2013-08-19 19:23:44
2013-08-19 19:23:44
2013-08-19 19:23:45
2013-08-19 19:23:45
2013-08-19 19:23:45
2013-08-19 19:23:46
2013-08-19 19:23:46
2013-08-19 19:23:46
2013-08-19 19:23:46
2013-08-19 19:23:46
2013-08-19 19:23:46
2013-08-19 19:23:46
2013-08-19 19:23:46