【问题标题】:Perl: Searching Patterns which occur in a certain time differencePerl:搜索在特定时间差内发生的模式
【发布时间】:2013-01-21 21:54:28
【问题描述】:

首先我的问题:我有一个文档,我想在其中搜索两种模式。在每一行中,都有一个时间戳。所以也有符合模式的时间。

现在我只想获得这两种模式,它们发生在某个时差或时差高于我输入的时间(我想确定)的地方。喜欢:

19:03 Pattern1 
19:04 Pattern2
20:04 Pattern1
20:10 Pattern2

time difference: 4 sec

我计算了绝对时间和差异。模式匹配没有问题。 但我的问题是给出时间差大于例如的所有线条/图案的线条。 4 秒。

【问题讨论】:

  • 我们可以查看您的一些代码以便我们提供帮助吗?
  • 给出你目前工作的代码——它会让建议更容易。
  • Pattern1 和 Pattern2 总是成对出现?它们是否重叠(Pattern1、Pattern1、Pattern2、Pattern2)?

标签: perl pattern-matching timedelta


【解决方案1】:

你忘了问一个问题!也许你想要匹配的行?

my ($pat1_time, $pat1_line); 
while (<>) {
   my $time = ...;
   if (/pat1/) {
      $pat1_line = $_;
      $pat1_time = $time;
   }
   if (/pat2/) {
      if ($time - $pat1_time > 4) {
         print($pat1_line);
         print($_);
      }
   }
}

【讨论】:

  • 时间似乎不是整数
  • @ysth,他说他知道如何将其转换为绝对时间,我认为它是指纪元时间。耸耸肩。如果有问题,OP 会告诉我的。
猜你喜欢
  • 1970-01-01
  • 2014-02-10
  • 2017-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多