Hello StackExchange社區!批量排序浮點數
我想解決批處理浮點值的問題。
重點。我有以下形式的日誌文件(INPUT.TXT):
889.W_1.153,46
889.W_1.37,43
889.W_1.28,81
889.W_1.34,70
155.W_2.22,67
155.W_2.108,06
155.W_2.22,11
155 W_2 22,65
我想在第一和第三列進行排序這一點。我想輸出(OUTPUT.TXT)以這種形式:
155.W_2.22,11
155.W_2.22,65
155.W_2.22,67
155.W_2.108,06
889.W_1.28,81
889.W_1.34,70
889.W_1.37,43
889.W_1.153,46
我寫了一個小劇本,因爲我的結果是它的工作原理差不多好了:
155 108,06 W_2
155 22,11 W_2
155 22,65 W_2
155 22,67 W_2
889 153,46 W_1
889 28,81 W_1
889 34,70 W_1
889 37,43 W_1
點和列的順序並不那麼重要,實際問題是數字超過2位數。逗號被視爲比數字「更高」。以下是腳本:
@echo off
setlocal enabledelayedexpansion
for /F "tokens=1-3 delims=." %%a in (INPUT.txt) do set "a[%%a %%c ]=%%b"
for /F "tokens=2-4 delims=[.]=" %%a in ('set a[') do echo %%a%%c%%b>> OUTPUT.txt
正確排序並不是我需要的一切。我也有能力(稍後在腳本中)刪除一個數字超過2位的整行,在這種情況下,它將與行153,49
和108,06
。任何幫助對我來說都是非常有價值的。
在你的'INPUT.txt'數據樣本的最後一行,沒有點'。'('155 W_2 22,65');我認爲這是一個錯字,對吧? – aschipfl