Linux
座標 X237595Y81600 到 X2375Y8160
我創建了一個 gerber 文件,裡面有如下行:
X90095Y15350 X100095Y15350 X110095Y15350 X120095Y15350 X120095Y25350 X110095Y25350 X100095Y25350 X90095Y25350 X80095Y25350 X160095Y25350
這些是鑽孔路徑的座標——注意X和Y。****X和Y之後的數字不同 - 有時是 6 位,有時是 5 位。
現在我需要一個腳本,它首先確定該行是否以X開頭,然後使用sed或任何其他 Linux 工具將其轉換為X和Y均為 4 位長的格式,以便該行:
X160095Y25350
變成:
X1600Y2535
誰能幫我。為了自己解決這個問題,我在正則表達式方面有點太弱了……如果有任何其他命令可以做到這一點,那也很好。
添加
提供的 anwser 工作正常,我可以用它來重新格式化我的文件。將其上傳到我的應用程序後,我注意到我們進行了錯誤的轉換。
我對此感到抱歉,但現在我知道需要做什麼了。因此,如果一行以“X”開頭,我們只需刪除 X 和 Y 之後的最後一位數字。例如,如果我有:
X90095Y15350 X100095Y15350 X110095Y15350
我需要刪除每個位置(X 和 Y)的最後一位數字:
X9009Y1535 X10009Y1535 X11009Y1535
有人可以幫我解決這個問題。=/
試試這個:
sed 's/\(^X[[:digit:]]\{4\}\)[[:digit:]]*\(Y[[:digit:]]\{4\}\)[[:digit:]]*/\1\2/'
如果行以 X ( ) 開頭,則刪除不在括號內的
^X
所有數字。\(\)