Tcl:
set fields [split $procline ,]
set timestamp [join [lrange $fields 1 2]]
set time [clock scan $timestamp -format "%d.%m.%Y %T"]
Ou, de uma só vez:
set time [clock scan [join [lrange [split $procline ,] 1 2]] -format "%d.%m.%Y %T"]
Eu tenho logs com o seguinte padrão:
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;
Eu preciso extrair data e hora ... para a primeira linha Eu faço o seguinte:
set starttime [string range $procline 2 20]
Mas como posso extraí-lo se o identificador (o código antes do tempo) for maior?
Estou usando o expect (tcl). Eu tentei combinar a string, mas talvez eu esteja fazendo algo errado. A linha já está carregada como $procline
.
Eu tentei muitas maneiras diferentes de outras respostas que encontrei aqui nos fóruns, mas nada realmente funcionou para mim.
usando o awk
awk -F ',' '{print $2,$3}' log_file.txt
se a data e a hora estiverem na 2ª e 3ª posição separadas por vírgula
você pode fazer assim se você armazenar a variável
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
Se você não quiser que awk
seja capaz de usar apenas bash bultins
IFS=, read a MY_DATE MY_TIME b <<< $procline ; echo $MY_DATE $MY_TIME