Scripting
使用 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]
但是如果標識符(時間之前的程式碼)更長,我該如何提取它?我正在使用期望(tcl)。我嘗試匹配字元串,但也許我做錯了什麼。該行已載入為
$procline
.我嘗試了許多與我在論壇中找到的其他答案不同的方法,但對我來說沒有任何效果。
Tcl:
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"]
使用 awk
awk -F ',' '{print $2,$3}' log_file.txt
如果日期和時間位於以逗號分隔的第 2 位和第 3 位
如果你要儲存變數,你可以這樣做
while read x;do a=`echo $x | awk -F ',' '{print $2,$3}'`; #now do whatever you want to do with your variable done < log_file.txt