Использование case для диапазона чисел в Bash
Я пытаюсь сделать следующее, используяcase
в Bash (в Linux).
Если X находится между 460 и 660, выведите информацию X.
Если X между 661 и 800, сделайте что-нибудь еще.
И т.п.
Прямо сейчас это то, что у меня есть:
case $MovieRes in
[461-660]*) echo "$MovieName,480p" >> moviefinal ;;
[661-890]*) echo "$MovieName,720p" >> moviefinal ;;
[891-1200]*) echo "$MovieName,1080p" >> moviefinal ;;
*) echo "$MovieName,DVD" >> moviefinal ;;
esac
Но так или иначе многие из тех, которые являются 480p, 720p или 1080p, заканчиваются вместо DVD. Переменная$MovieRes
простой список, который показывает для каждой строки число от 1 до 1200. В зависимости от значения,case
решает, какой "случай" применять.
Я хотел бы знать, как на самом деле использоватьcase
чтобы достичь этого, так как это немного сбивает с толку при работе с такими диапазонами.