次の行でガーバーファイルを作成しました。
X90095Y15350
X100095Y15350
X110095Y15350
X120095Y15350
X120095Y25350
X110095Y25350
X100095Y25350
X90095Y25350
X80095Y25350
X160095Y25350
これはドリルパスの座標です。参考にしてください。Xそしてはい。後ろの数字Xそしてはい変形 - 時には6桁、時には5桁。
これで、行が次に始まるかどうかを最初に識別するスクリプトが必要です。Xその後、使用sedまたは他のLinuxツールを使用して次の形式に変換するXそしてはい長さは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
)で始まる場合、すべての数字はいいえ括弧内の内容は\(\)
削除されます。