/ / Mappe une série de nombres à une autre dans bash - bash

Mappe une série de nombres à une autre dans bash - bash, mappage

J'ai une plage de nombres, par exemple 150 - 249, et je souhaite mapper des valeurs de cette plage dans une plage de nombres différente, par exemple 300 - 780. Est-il possible de le faire en bash?

Réponses:

0 pour la réponse № 1

Si le nombre de nombres est identique sur les deux plages (1: 1): Il est facile de créer un tableau en bash avec le nombre cible que vous souhaitez

$ numbers=({300..780})

Ensuite, soustrayez 150 de l’index souhaité:

$ echo "${numbers[219-150]}"
369

En variables:

sourceRangeStart=150
targetRangeStart=300
count=100

requestNumber=219

numbers=( $(seq "$targetRangeStart" $((targetRangeStart+count-1)) ) )
echo "${numbers[requestNumber-sourceRangeStart]}"

Si le rapport n'est pas 1: 1, vous devez définir la fonction qui relie l'entrée à la sortie.