Extrai datetime e valores para o gnuplot

0

Eu tenho a seguinte saída e estou tentando extrair os seguintes valores:

Data (X) e Valor (Y), com cada ponto de dados rotulado pelo número da etapa.

Aqui está a saída:

Profiling step 1 @ 2016-08-31 11:58:56.344464+00:00 $1 170.58984375
Profiling step 2 @ 2016-08-31 12:02:10.958859+00:00 $2 3361.6328125
Profiling step 3 @ 2016-08-31 12:02:14.387444+00:00 $3 3361.0546875
Profiling step 4 @ 2016-08-31 12:03:53.674385+00:00 $4 4508.9765625
Profiling step 5 @ 2016-08-31 12:05:15.625707+00:00 $5 5487.6484375
Profiling step 6 @ 2016-08-31 12:05:24.167411+00:00 $6 5558.91796875
Profiling step 7 @ 2016-08-31 12:05:26.981129+00:00 $7 5582.12890625
Profiling step 8 @ 2016-08-31 12:05:30.468513+00:00 $8 5609.92578125
Profiling step 9 @ 2016-08-31 12:05:37.910140+00:00 $9 5673.94921875

Até agora, consegui extrair Step e Value que vêm depois de $, por exemplo. 1 170.589843, etc com o seguinte comando:

grep -o '$[^,]*'

Saída:

$1 170.58984375
$2 3361.6328125
$3 3361.0546875
$4 4508.9765625
$5 5487.6484375
$6 5558.91796875
$7 5582.12890625
$8 5609.92578125
$9 5673.94921875

Saída desejada:

2016-08-31 11:58:56.344464 170.58984375 1
2016-08-31 12:02:10.958859 3361.6328125 2
2016-08-31 12:02:14.387444 3361.0546875 3
etc..

Qualquer ajuda? Obrigado

    
por gti106 31.08.2016 / 14:15

1 resposta

1

$ awk '{sub(/[+-].*/,"",$6); print $5,$6,$8,$3}' file
2016-08-31 11:58:56.344464 170.58984375 1
2016-08-31 12:02:10.958859 3361.6328125 2
2016-08-31 12:02:14.387444 3361.0546875 3
2016-08-31 12:03:53.674385 4508.9765625 4
2016-08-31 12:05:15.625707 5487.6484375 5
2016-08-31 12:05:24.167411 5558.91796875 6
2016-08-31 12:05:26.981129 5582.12890625 7
2016-08-31 12:05:30.468513 5609.92578125 8
2016-08-31 12:05:37.910140 5673.94921875 9

(o sub apenas corta o fuso horário; você pode omiti-lo se não precisar fazer isso).

    
por 31.08.2016 / 14:34