X237595Y81600~X2375Y8160座標

X237595Y81600~X2375Y8160座標

次の行でガーバーファイルを作成しました。

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)で始まる場合、すべての数字はいいえ括弧内の内容は\(\)削除されます。

おすすめ記事