Você não é capaz de canalizar para o awk? por exemplo
sudo ptpd --interface wlan0 -s -L -V | awk /Timestamp,OneWayDel/ > onewaydelay.csv
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 é:
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
Você não é capaz de canalizar para o awk? por exemplo
sudo ptpd --interface wlan0 -s -L -V | awk /Timestamp,OneWayDel/ > onewaydelay.csv
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)
.
Tags text-processing logs