Unix ja shell-ohjelmointi 2001, demo 2
Unix ja shell-ohjelmointi 2001, demo 2 (31.1.2001)
Yritä varautua erikoistapauksiin ja virhetilanteisiin!
- Kirjoita funktio, joka
- tulostaa argumenttinsa yksitellen omille riveilleen
numeroituina heittomerkeissä (tyyliin 1: 'aasi');
- tulostaa argumenttinsa merkki kerrallaan pystysuoraan
(siis yksi merkki per rivi).
- Kirjoita funktio, jolla voi tutkia esiintyykö annetussa
merkkijonossa erikoismerkkejä
| & ; < > ( ) $ ` \ " ' * ? [ # ~ = %
tai välilyönti, tabulaattori tai rivinvaihto siten, että:
- ei tulostusta mutta status 1 jos löytyi yksikin noista, muutoin 0,
- tulosta lista löytyneistä erikoismerkeistä (ei samaa kahteen kertaan)
- Kirjoita sh-skripti, joka etsii argumenttina annetusta hakemistosta
kaikki skriptit, joiden alussa on #! ja kertoo millä
shellillä (tms) ne suorittuisivat.
- Kirjoita sh-skripti, joka lukee tiedostosta pilkuilla erotettuja
kokonaislukuja, laskee ne yhteen riveittäin ja tulostaa
joka rivin summan, ja lopuksi kaikkien rivien yhteissumman.
- Kirjoita sh-skripti addhandle, joka lukee yhdestä tiedostosta
ihmisten nimiä (sukunimi viimeisenä)
ja toisesta lempinimiä (joiden oletetaan olevan samassa järjestyksessä)
ja tulostaa ne
yhdessä tähän tapaan:
Kauko "Kake" Virtanen
ts. lisää lempinimen lainausmerkeissä etu- ja sukunimen väliin.
- Kirjoita sh-skripti namesplit, joka lukee edellisen tehtävän
tulosteen mallisia tiedostoja ja jakaa ne kahteen tiedostoon siten,
että toisessa on etu- ja sukunimet ja toisessa lempinimet.
Ts. edellisen käänteisoperaatio.
File translated from TEX by TTH, version 1.98.
On 25 Jan 2001, 13:16.