Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: mihatsu - 09.02.06 - klo:12.30
-
Hei
Tuossa mietiskelin aamulla kun bussiaikautaulua taas katoin että monelta menee seuraava koululle että olisi kätevä tehdä scrpti joka kertos millon seuraava on menossa ja torsmo hakis sieltä tiedot näytölle vaikka 3 seuraavaa. Koulun koneella on sellainen että kun kirjoittaa bussit unix:ssa niin tulee tuloste
paju:(/)(54)% bussit
Bussit Linnanmaa - Keskusta
aika linja
12:29 19
12:29 5
12:36 6
12:43 24
12:45 4
12:49 19
12:50 7
12:59 5
13:06 6
13:09 19
Ajattelin että vähän tuohon malliin sen pitäs toimia. Aikataulu http://www.koskilinjat.fi/aikataulut_ja_reitit/paikallisliikenteen_linjat/talvi/yhdistelma_oyskes.html on tuolla ja sieltä Kajaanintien pysäkin kohdalta 4 5 6 bussit, tuohon aikataulun aikaan pitää lisätä 5min jokaiseen. 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.
Mika
-
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]
-
Kiitoksia! Tämä toimii paremmin kuin ajattelin! Kiitoksia vielä vaivannäöstä!
Mika
-
Onnistuiskos sama Matkahuollon sivuilta. Jotenkin tyyliin:
Syötä lähtöpiste:
Syötä päätepiste:
Anna kellonaika:
Ja softa hakisi noilla arvoilla matkahuollon sivuilta aikataulut. Miten tuota voisi lähteä toteuttamaan?
-
Itse käytän tällaista komentoa junien kanssa:
lynx -dump "http://aikataulut.ytv.fi/reittiopas-pda/fi/?test=1&aa=17205%3At1a2552403a6673381%3AHelsinki+keskusta%3A871%3A&an=&keya=helsinki&bb=15860%3At1a2545176a6678970%3ALepp%E4vaara%3A458%3A&bn=&keyb=lepp%E4vaara&hour="$(date +%H)"&min="$(date +%M)"&vm=1&day="$(date +%d)"&month="$(date +%m)"&year="$(date +%Y)"&adv=" | grep ".*juna"
www.matka.fi (http://www.matka.fi) osoitteesta saanet samankaltaisen toiminteen aikaiseksi, joskaan en nyt ensikatsomisella löytänyt sieltä tuommoista kevyempää tekstiversiota.