我有几千个带有日期时间戳的日志文件,用于标记某些重要事件。不幸的是,在任何给定的日期时间戳记中记录的信息有时会插入换行符,以便信息分布在几行上。此外,还有其他信息与我的目的无关,没有日期时间戳。
我有一个perl单行程,负责提取我想要的信息:
perl -ne 'print if /^\d\d:\d\d:\d\d\.\d\d\d/..!/^\d\d:\d\d:\d\d\.\d\d\d/'
但是,我想删除初始行(包含日期时间戳)和以下每行之后的新行字符。但是,我确实希望将换行符保留在以日期时间戳开头的下一行之前的最后一行之后。
我没有运气如何修改我的单线来实现这一目标。
答案 0 :(得分:1)
perl -ne 'if ($inside = /^\d\d:\d\d:\d\d\.\d\d\d/..!/^\d\d:\d\d:\d\d\.\d\d\d/) {
chomp unless $inside =~ /E0$/;
print; }'