다음과 같은 줄로 거버 파일을 만들었습니다.
X90095Y15350
X100095Y15350
X110095Y15350
X120095Y15350
X120095Y25350
X110095Y25350
X100095Y25350
X90095Y25350
X80095Y25350
X160095Y25350
이는 드릴 경로의 좌표입니다. 참고하세요.엑스그리고예. 뒤에 있는 숫자엑스그리고예변형 - 때로는 6자리, 때로는 5자리.
이제 줄이 다음으로 시작하는지 먼저 식별하는 스크립트가 필요합니다.엑스그런 다음 사용sed또는 다른 Linux 도구를 사용하여 다음 형식으로 변환엑스그리고예길이는 4비트이므로 다음 줄은 다음과 같습니다.
X160095Y25350
이 되다:
X1600Y2535
누가 날 도울 수 있죠. 저는 이것을 스스로 알아내기에는 정규식에 너무 약합니다... 이것을 할 수 있는 다른 명령이 있다면 문제가 되지 않을 것입니다.
다음에 추가
제공된 답변은 제대로 작동하며 이를 사용하여 파일을 다시 포맷할 수 있습니다. 내 앱에 업로드한 후 변환이 잘못되었음을 발견했습니다.
미안하지만 이제 무엇을 해야 할지 알았습니다. 따라서 줄이 "X"로 시작하면 X와 Y 뒤의 마지막 숫자만 제거합니다. 예를 들어 다음과 같은 경우가 있습니다.
X90095Y15350
X100095Y15350
X110095Y15350
각 위치(X 및 Y)의 마지막 숫자를 제거해야 합니다.
X9009Y1535
X10009Y1535
X11009Y1535
누구든지 이 문제를 해결하도록 도와줄 수 있나요? =/
답변1
이 시도:
sed 's/\(^X[[:digit:]]\{4\}\)[[:digit:]]*\(Y[[:digit:]]\{4\}\)[[:digit:]]*/\1\2/'
줄이 X( ^X
)로 시작하면 모든 숫자는아니요괄호 안의 내용은 \(\)
삭제됩니다.