Próbuję wykonać następujące czynności, używając case
w Bash (w systemie Linux).Używanie obudowy dla zakresu numerów w Bash
Jeśli X mieści się w przedziale od 460 do 660, wyświetla informacje X.
Jeśli X ma wartość od 661 do 800, zrób coś innego.
Itd
Teraz to jest to, co mam:
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
Ale jakoś wiele z tych, które są 480p, 720p lub 1080p są kończąc na DVD zamiast. Zmienna $MovieRes
jest prostą listą, która dla każdej linii zawiera liczbę od 1 do 1200. W zależności od wartości, case
decyduje, który "przypadek" zastosować.
Chciałbym wiedzieć, jak faktycznie użyć case
, aby to osiągnąć, ponieważ jest nieco mylące, gdy mamy do czynienia z takimi zakresami.
"Ale jakoś wiele z nich" ... Nie jestem do końca pewien, do których "tu" się odnosi. Możesz wyjaśnić? –