zkouška 29.5.

Seznámení se základními principy operačního systému UNIX, převážně z uživatelského hlediska. Absolvent kurzu by měl být schopen napsat netriviální program v shellu.
Uživatelský avatar
kaja
Matfyz(ák|ačka) level II
Příspěvky: 99
Registrován: 20. 12. 2007 00:53
Typ studia: Informatika Bc.
Bydliště: Miðgarðr
Kontaktovat uživatele:

zkouška 29.5.

Příspěvek od kaja »

oproti dalším mi tahle přišla jednoduchá, hlavně to chtělo ovládat trochu awk (bez něho to počítám šlo naopak pěkně blbě)

program se jmenuje "msg2html", dělá to to, že z adresáře vezme chybové hlášky, což jsou všechno soubory s názvem ve formátu XXXX-YYY-Z, kde XXXX je jméno programu, YYY je ID (nebo naopak, neni tolik důležitý) a Z je urgence - má to vždycky tenhle počet písmen (4-3-1)

program má udělat to, že převede všechny tyhle hlášky (nebo jenom některé, viz níž) na html

ta hláška vypadá nějak takhle
řádek co začne "Id:[\t ]*" obsahuze za tím Id a mezerama názvy, jsou ve tvaru XXXX-YYY-Z jako výše, všechny mají stejné XXXX-YYY, můžou se lišit v Z, což je důležitost
Řádek co začne "Text:[\t ]*" je nadpis nebo tak něco, není na něm nic extra zajímavého
Řádek co začne "Description:[\t ]*" je začátek popisu, co je až do konce souboru

Tak, a to se má převést na HTML takhle
do TITLE půjde ten název XXXX-YYY
první řádek v body je v <h1> ten název z řádku "Text"
pod ním je v tagu <h3> napsáno "Serenity: Z, Z, Z, Z" kde Z jsou ty důležitosti z řádku za Id: (mohlo jich tam být víc)
A pod tím už ten popis
ale
ten popis se ještě nějak formátuje
Pokud končí v Description řádek tečkou, tak v tom HTML bude paragraf <p> (a pokud ne, tak se to pořád píše do jednoho paragrafu)
Pokud začíná -, tak jsou to odrážky a dělá se to přes <ul><li> (tj. když je víc řádků co začínají -, jak jsou všechny v tom listu)
pokud je v textu nějaký název manuálové stránky, co vždycky vypadá takhle: "nejaky.program(9)" - tj. písmena nebo tečka a pak (číslice), tak se zkusí, jestli ta man stránka existuje, to znamená hledá se v nějakém adresáři (to Forst popsal kde), a jestli ano, tak se ten název man stránky napíše tučně (tj. to nejaky.program(9))

pokud se ta chybová hláška jmenuje třeba XXXX-YYY-Z, tak to html je XXXX-YYY.html

tak, to jest k tomu html

ten skript dostane buď parametr -r a pak převádí vážně všechno a nebo ho nedostane a tak převádí jenom ty soubory, jejichž .html je starší než ta hláška neb to .html neexistuje (tj. jenom tam kde to má smysl)

a kromě -r to může ještě dostat XXXX, což znamená "převeď všechno co začíná na XXXX)
nebo XXXX-YYY, což znamená ... no totéž :)
a nebo nic, což znamená převeď všechno (samozřejmě s ohledem na to -r)
těhle parametrů může dostat neomezeně (tj ./msg2html.sh -r XXXX FFFF-GGG převede všechny co buď začínají na XXXX nebo FFFF-GGG)

snad jsem napsal všechno
vypadá to složitě ale třeba ten převod šel v awku nějak zkutit a pak už tam skoro nic nebylo :)
teda, ještě nevim jestli jsem to dal nebo ne :)
PONIES
OndraC
Matfyz(ák|ačka) level I
Příspěvky: 13
Registrován: 22. 9. 2007 08:23
Typ studia: Informatika Bc.
Bydliště: kolej 17. listopadu

Re: zkouška 29.5.

Příspěvek od OndraC »

Ještě bych možná dodal, že tohle zadání jsme měli jako úplně první, bylo to číslo 59... a po písemce Forst říkal, že to příště musí dát o něco těžší, například bude nutné ošetřit to, že pokud budou v textu chybové zprávy znaky "&, <, >", tak do HTML se musejí převést "správně", tzn. jako "& , <, >"
Odpovědět

Zpět na „SWI095 Úvod do UNIXu“