Unix ja shell-ohjelmointi 2001, demo 6 Unix ja shell-ohjelmointi 2001, demo 6 (8.3.2001)

  1. Kirjoita skripti joka

    1. etsii henkilötunnuksia (PPKKVVSNNNT, PPKKVV=syntymäpäivä, S=vuosisata (+-A), NNN=järjestysnumero, T=tarkistusmerkki) sisältävästä tiedostosta (tiedostonimi argumenttina, sen puuttuessa stdinistä) vuosina 1970-1979 syntyneitä naisia (sukupuolen kertoo järjestysnumero: naisilla parillinen, miehillä pariton). Henkilötunnus on aina joka rivin alussa, sen perässä voi olla muuta tietoa (koko rivi tulostetaan). Henkilötunnuksen oikeellisuutta ei tarvitse tarkistaa. Testaukseen voi käyttää oheista hetuja.txt-tiedostoa.

    2. muuttaa argumenttina annetussa tiedostossa olevista hakemistopoluista kotihakemiston ($HOME) alla olevat muotoon ~/... (vaihtaa kotihakemiston paikalle ~:n). Oleta että joka rivillä on vain yksi hakemistopolku rivin alussa.

    3. muuttaa kaikki oletushakemistossa olevat .cc-tarkenteiset tiedostot .C-tarkenteisiksi.

  2. Kirjoita skripti joka

    1. etsii argumenttina annetuista tiedostoista kaikki 'amerikkalaisia kirjaimia' vastaavat merkkijonomallit, siis merkkijonot [a-z], [A-Z] tai [a-zA-Z] ja tulostaa rivit joilla noita esiintyy tiedostonimen ja rivinumeron kera.

    2. etsii rekursiivisesti annetun hakemiston alta kaikki normaalit tiedostot, joista löytyy sana 'Pekka' (siis tiedoston sisältä, ei sen nimestä, mutta vain tiedostonimet tulostetaan).

  3. Kirjoita skripti joka tarkistaa että kaikkien /etc/passwd:stä löytyvien käyttäjien kotihakemisto on ao. käyttäjän omassa omistuksessa ja että sinne ei ole kirjoitusoikeutta maailmalla eikä ryhmällä.

  4. Kirjoita skripti joka tulostaa halutunkokoisen kertotaulun (neliömäisen, rivit ja sarakkeet 1...n) desimaali-, oktaali- tai heksadesimaalijärjestelmässä. Argumentteina annetaan koko (oletus 10) ja kantaluku (8, 10 tai 16, oletus 10).

  5. Kirjoita skripti joka tutkii onko välilyönnein erotettuja numeroita sisältävä tiedosto taikaneliö, eli onko siinä yhtä monta riviä kuin saraketta ja kaikkien rivien, sarakkeiden ja diagonaalien summat samat. Testausapuna voit käyttää oheista oddmagic-skriptiä, joka parittomilla argumenteilla tuottaa sen kokoisia taikaneliöitä ja parillisilla argumenteilla epätaikaneliöitä.


File translated from TEX by TTH, version 1.98.
On 7 Mar 2001, 19:41.