2017-02-16 9 views
-1

既存のPERLスクリプトを修正する必要があります。私はPERL Scriptingの経験がないので、私はグーグルで調べて変更を加えましたが、それは機能しません。 ファイルに特定のタイムスタンプが存在するかどうかをチェックする部分があります。 コードは Perlスクリプトログファイルのタイムスタンプを参照

  • が、タイムスタンプをアップグレードした後Feb 15 09:28:13 2017 = 2017-02-15T10:26:14.858
  • は、私はこのような状況を更新しましたが、それは働いていない=

    while (<IN>) { 
         if (/timestamp="(\w\w\w) (\d\d) \d\d:\d\d:\d\d (\d\d\d\d)"/ { 
         $NowDate=$3.$Month{$1}.$2; 
         if ($NowDate > $StartDate) { 
          print OUT $_; 
          while (1) { 
          $regel=<IN>; 
          if (! defined $regel) {last} 
           print OUT $regel; 
          } 
          } 
         } 
        } 
    
    • ログファイルのタイムスタンプです。

      if (/timestamp="(\d\d\d\d)-(\d\d)-(\d\d)T(\d\d):(\d\d):(\d\d)"/ 
      

      誰でも私にここでいくつかのアドバイスを与えることができます。

    答えて

    0
    if (/timestamp="(\d\d\d\d)-(\d\d)-(\d\d)T\d\d:\d\d:\d\d\.\d\d\d"/) { 
        $NowDate = $1.$2.$3; 
        ... 
    } 
    
    +0

    問題は私が条件を満たしていないことです。ファイルのタイムスタンプはtimestamp = "2017-02-16T13:08:34.104" – Ilhan

    +0

    パターンからの秒数が足りませんでした。今すぐお試しください – Borodin

    +0

    if条件を入力しましたが、次のエラーが表示されます。「接続時に未初期化値(。)または文字列を使用」 /を使用する必要がありますか? – Ilhan

    関連する問題