저는 두 개의 Raspberry Pi를 사용하여 작은 프로젝트를 진행하고 있습니다. 정밀 시간 프로토콜을 사용하여 시계(하나는 마스터로, 다른 하나는 슬레이브로)를 동기화하고 싶습니다.
이제 이 명령을 사용할 때 표시되는 데이터를 기록하는 데 관심이 있습니다 -V
. 나는 다음 atm을하고 있습니다 :
라즈베리 파이 1의 경우:
sudo ptpd --interface wlan0 -M -L
라즈베리 파이 2의 경우:
sudo ptpd --interface wlan0 -s -L -V > onewaydelay.csv
출력은 일반적입니다.
#Timestamp, State, Clock ID, One Way Delay, Offset From Master, Slave to Master, Master to Slave, Observed Drift, Last Packet Received.
문제는 단방향 지연을 플롯하고 시간이 지남에 따라 어떻게 변하는지 확인할 수 있도록 타임스탬프와 단방향 지연을 기록하는 데만 관심이 있다는 것입니다. 그래서 내 질문은 다음과 같습니다
- 타임스탬프와 단방향 지연만 인쇄되도록 출력을 편집(-V 명령 사용)할 수 있습니까?
명령을 사용하면 -V
출력은 다음과 같습니다(한 줄 - 쉼표로 구분).
2017-10-12 14:41:48.763883, slv, b827ebfffe9adfc7(unknown)/01, 0.045879356, -0.145651366, 0.319974024, -0.108966784, -500000.000000000, S
답변1
awk로 파이프할 수 없나요? 예를 들어
sudo ptpd --interface wlan0 -s -L -V | awk /Timestamp,OneWayDel/ > onewaydelay.csv
답변2
당신이 찾고있는 것은
| awk -F, '{printf "%s,%s\n",$1,$4;}'
어디
-F,
awk에게 필드를 쉼표로 구분하라고 지시하세요.printf "%s,%s\n",$1,$4;
첫 번째와 네 번째 필드를 ,로 구분하여 인쇄합니다(원하는 경우 ;를 사용할 수 있음).
HMS만 보유
| awk -F, '{printf "%s,%s\n",substr($1,10,8),$4;}'
substr(string,from,length)
awk 함수를 사용하세요 .