Olen todella amatööri näissä hommissa joten mietin että hakisko scripta tuolta sen ajan vai teenkö käsin tiedostoon jokaisen ajan käsin? Tai miten tuo olisi toteutettavistta helpoiten.
Ainakin minun silmiini tuo aikataulu näytti hieman ikävältä parsittavalta joten pitäisin tekstitiedostoon tallennettua aikataulua järkevänä lähtökohtana. Generoin liitteenä olevan aikataulutiedoston muutamalla sopivasti valitulla for-silmukalla.
$ for x in 0{6..9} {10..18}; do echo "$x:25 4" >>aikataulu-raw.txt; done
$ for x in 0{5..9} {10..18}; do echo "$x:55 4" >>aikataulu-raw.txt; done
$ for x in {19..21}; do echo "$x:35 4" >>aikataulu-raw.txt; done
$ for x in 0{7..9} {10..17}; do echo "$x:35 5" >>aikataulu-raw.txt; done
$ for x in 0{8..9} {10..17}; do echo "$x:05 5" >>aikataulu-raw.txt; done
$ for x in 0{7..9} {10..17}; do echo "$x:15 6" >>aikataulu-raw.txt; done
$ for x in 0{6..9} {10..22}; do echo "$x:45 6" >>aikataulu-raw.txt; done
$ sort aikataulu-raw.txt >~/aikataulu.txt
$ rm aikataulu-raw.txt
Tuosta aikataulusta voi sitten lukea kolme seuraavaa vuoroa esimerkiksi alla olevalla skriptillä.
#!/bin/bash
count=3
currenttime=$(date +%R)
printf "aika\tlinja\n"
exec < ~/aikataulu.txt
while read time rest; do
if [[ $time > $currenttime ]]; then
printf "%s\t%3d\n" $time $rest
(( count-- ))
[[ $count -gt 0 ]] || break
fi
done
Skripti hakee aikataulua kotihakemistostasi nimellä aikataulu.txt. Muista myös antaa skriptille suoritusoikeudet.
En ota mitään vastuuta generoimieni aikataulujen oikeellisuudesta.
[ylläpito on poistanut liitteen]