Registrando dados - selecionando parte do arquivo de log

0

Estou fazendo um pequeno projeto com dois Raspberry Pi's. Eu quero sincronizar seus relógios usando o Precision Time Protocol (um como relógio mestre e outro como relógio escravo).

Agora estou interessado em registrar os dados que você vê ao usar o comando -V . Eu estou fazendo o seguinte atm:

Para RPi 1:

sudo ptpd --interface wlan0 -M -L

Para o RPi 2:

sudo ptpd --interface wlan0 -s -L -V > onewaydelay.csv

A saída é a típica

#Timestamp, State, Clock ID, One Way Delay, Offset From Master, Slave to Master, Master to Slave, Observed Drift, Last Packet Received.

O problema é que estou interessado apenas em registrar o Timestamp e o One Way Delay para que eu possa plotar o One Way Delay e ver como ele muda com o tempo. Então minha pergunta é:

  • É possível editar a saída (usando o comando -V) para que ela imprima apenas o registro de data e hora e o atraso de uma forma?

Usando o comando -V , a saída parece (uma linha - separada por vírgula):

2017-10-12 14:41:48.763883, slv, b827ebfffe9adfc7(unknown)/01, 0.045879356, -0.145651366, 0.319974024, -0.108966784, -500000.000000000, S 
    
por user75374 10.11.2017 / 11:35

2 respostas

0

Você não é capaz de canalizar para o awk? por exemplo

sudo ptpd --interface wlan0 -s -L -V | awk /Timestamp,OneWayDel/ > onewaydelay.csv
    
por 10.11.2017 / 11:44
0

o que você está procurando é

| awk -F, '{printf "%s,%s\n",$1,$4;}'

onde

  • -F, informa ao awk para separar o campo na vírgula

  • printf "%s,%s\n",$1,$4; imprima primeiro e quarto campos separados por, (você pode usar; se quiser)

para ter apenas HMS

| awk -F, '{printf "%s,%s\n",substr($1,10,8),$4;}'

usando a função awk do substr(string,from,length) .

    
por 10.11.2017 / 15:52