tclを使用してログから時間を抽出する場合

tclを使用してログから時間を抽出する場合

私のログには次のパターンがあります。

1,30.10.2014,07:51:07,0,0,1,12,28,255,3,255,255,255,0,0,0;
2001,30.10.2014,07:51:07,0,0,0,300,5,0,255;

日付と時刻を抽出する必要があります...最初の行に対して、次の操作を行います。

set starttime [string range $procline 2 20]

しかし、識別子(時間より前のコード)が長い場合、どのように抽出できますか?私はExpect(tcl)を使用しています。文字列の一致を試しましたが、何かが間違っているようです。行がロードされました$procline

私はフォーラムで見つけた他の答えとは異なるさまざまなアプローチを試しましたが、実際に私に合うものはありません。

ベストアンサー1

テクトロニクス:

set fields [split $procline ,]
set timestamp [join [lrange $fields 1 2]]
set time [clock scan $timestamp -format "%d.%m.%Y %T"]

またはため息で:

set time [clock scan [join [lrange [split $procline ,] 1 2]] -format "%d.%m.%Y %T"]

おすすめ記事