Unix ja shell-ohjelmointi 2001, esimerkkitehtäviä 2 Unix ja shell-ohjelmointi 2001, esimerkkitehtäviä 2

  1. Kirjoita skripti joka etsii sähköpostiosoitteita sisältävästä tiedostosta .fi-päätteisiä. Oleta että joka rivillä on vain yksi osoite sekä mahdollisesti muuta tekstiä, jossa ei kuitenkaan ole @-merkkejä.

  2. Tiedostossa on numeroita suluissa, väleissä mahdollisesti tekstiä tai tyhjää tai ei mitään seuraavaan tapaan:
    kala(41)(423.4) (413.2)!(0)
    (12)(890)xxx(17.7)(6)(7)   (8) hehe
    koe (6) / (77) (8.9)(412.3)!!!!
    

    Kirjoita skripti joka tulostaa ko. tiedostosta halutun (yhden) luvun, kun sille annetaan argumentteina rivi ja luvun järjestysnumero rivillä, esim. hae 2 3 tulostaisi em. tiedostosta luvun 890.

  3. Kirjoita skripti, joka tarkistaa onko muodossa pp.kk.vvvv annettu päivämäärä mahdollinen ja väliltä 1.1.1800 - tänään (skriptin ajopäivä).

  4. Kirjoita skripti joka lajittelee henkilötunnuksia sisältävän tiedoston syntymäajan mukaiseen järjestykseen, samana päivänä syntyneet ensin sukupuolen mukaan naiset ensin, sitten järjestysnumeron mukaan. Tunnusten oikeellisuutta ei tarvitse tarkistaa.

  5. Kirjoita skripti joka rakentaa annetusta nimestä kaikki mahdolliset sähköpostiosoitevariaatiot tyyliin etunimi.sukunimi siten, että etunimistä voi olla mukana mitkä tahansa ja yhtä lukuunottamatta ne voi lyhentää pelkäksi etukirjaimeksi. Niiden järjestystä ei kuitenkaan muuteta. Siis esim. nimestä Matti Ville Pekka Virtanen tulisi variantit
    matti.virtanen
    ville.virtanen
    pekka.virtanen
    matti.ville.virtanen
    matti.pekka.virtanen
    ville.pekka.virtanen
    matti.ville.pekka.virtanen
    matti.v.virtanen
    matti.p.virtanen
    matti.v.p.virtanen
    ville.p.virtanen
    


File translated from TEX by TTH, version 1.98.
On 13 Mar 2001, 16:23.