0
我有一個數字範圍,例如150 - 249,並且我想將此範圍內的值映射到不同的數字範圍內,例如300 - 780。有什麼方法我可以在bash中做到這一點?在bash中將一個號碼範圍映射到另一個號碼
我有一個數字範圍,例如150 - 249,並且我想將此範圍內的值映射到不同的數字範圍內,例如300 - 780。有什麼方法我可以在bash中做到這一點?在bash中將一個號碼範圍映射到另一個號碼
如果數的計數是在兩個範圍相同的(1:1):這是很容易與要目標數創建在bash數組:
$ numbers=({300..780})
然後,從減去150索引你想:
$ echo "${numbers[219-150]}"
369
變量:
sourceRangeStart=150
targetRangeStart=300
count=100
requestNumber=219
numbers=($(seq "$targetRangeStart" $((targetRangeStart+count-1))))
echo "${numbers[requestNumber-sourceRangeStart]}"
如果該比率不是1:1,你需要定義FUNC將輸入和輸出鏈接起來。
你想對他們應用一個功能嗎?我注意到300是2 * 150,但780約爲249的3.1倍,所以加倍對你不起作用。 – numbermaniac
@numbermaniac這些數字就是例子。實際的輸入範圍會有所不同 – hellocatfood