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 № 1Si 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.