CNC가 있고 소프트웨어가 터미널에서 실행됩니다. 현재 Z축 깊이를 실시간으로 캡쳐해서 표시하고 싶습니다. 필요한 정보는 실행 중에 터미널과 로그 파일에 표시되지만(G1 Z-0.05) 이는 다른 정보와 함께 줄 중간에 있을 수 있습니다. 최신 Z 깊이를 캡처하는 방법이 있습니까? 표시 부분을 관리할 수 있을 것 같은데, 변화하는 Z를 어떻게 캡쳐해서 항상 현재 값을 유지하는지 관심이 갑니다. 미리 감사드립니다.
소프트웨어는 python main.py를 통해 시작됩니다. GUI에서는 컷을 실행합니다. Arduino로 전송된 명령은 터미널에 표시되며 log.txt에도 기록됩니다. 터미널을 가로챌 수 있나요? 아니면 로그를 추적하는 것이 더 쉽나요?
출력 예 터미널에서: "보내기: G0 Z0.5" 로그 파일에서: 보내기: G1 Z-0.05 F30
내가 캡처하고 싶은 것은 양수 및 음수 Z/z 값 뒤에 있는 값입니다.
답변1
주어진 예제 입력:
Sent: G1 Z-0.05 F30
그러면 원하는 정보가 캡처됩니다.
grep -o 'Z[^ ]*' inputfile
Z-0.05
또는 실시간으로 캡처하세요.
tail -f inputfile | grep -o 'Z[^ ]*'