33
Második kötelező feladat 2010/2011-2 Operációs rendszerek awk

Második kötelező feladat

  • Upload
    jeneva

  • View
    26

  • Download
    1

Embed Size (px)

DESCRIPTION

Második kötelező feladat. 2010/2011-2 Operációs rendszerek awk. Beadási mód. Tar file File neve hxxxxxx.tar Pl. h123456.tar A tar egy könyvtárt tartalmaz A könyvtár neve hxxxxxx / Pl. h123456/ A könyvtárban van elhelyezve a feladat megoldása h123456.awk - PowerPoint PPT Presentation

Citation preview

Ktelez feladatatok

Msodik ktelez feladat2010/2011-2Opercis rendszerekawkBeadsi mdTar fileFile neve hxxxxxx.tarPl. h123456.tarA tar egy knyvtrt tartalmazA knyvtr neve hxxxxxx/Pl. h123456/A knyvtrban van elhelyezve a feladat megoldsah123456.awkHa shell script is tartozik a megoldshoz, akkor azt is el kell helyeznih123456.sh nvenHa a feladathoz tartozik plda llomny, akkor a knyvtrban azt is el kell helyezni az albbi nvenadat.txt

Beadsi mdA file tartalmazzon egy fejlcet a parancsrtelmez fejlc utn #! /bin/bash##################### Nev: Karacsony Szilveszter# EHA-kd: VALAMI.SZE# h-azon.: h123456# Feladat: 1. feladat# Gyak.vez.: Kozma Attila####################Beadsi md0 pontHa nem a megadottmdon lesz bekldve a feladat!!!

Hatridbiro.inf.u-szeged.huAki mg nem regisztrltREGISZTRLJON!!!http://biro.inf.u-szeged.hu/regiszt2011. mjus 1. 23:59:59A feladatok ki vannak/lesznek osztva a biro szerveren.Nem fog ellenrizni!!!Tbbszr is fel lehet tlteni (10)Utols feltlts szmtIdben kezdjenek hozz a megoldshoz!!!1. feladatrjon awk szkriptet, ami egy nyomtatra kldtt feladatok napl fjljbl sszesti a felhasznlk havi nyomtatsi oldalszmait. Emellett jelentse meg, hogy az adott felhasznlnak mennyit kell fizetnie a nyomtatsrt, ha egy oldal 6 Ft. Vgl sszestse a havi forgalmat s rja ki az utols sorba a kinyomtatott oldalak szmt s a bevtelt. A felhasznlkat nv szerint nvekv sorrendben jelentse meg.

A naplfjl szerkezete (a mezk szkzkkel elvlasztva):USER NYOMTATOTT_OLDALAK PELDANYSZAMEgy felhasznl oldalszmai kiszmthatk a NYOMTATOTT_OLDALAK * PELDANYSZAM kplettel nyomtatsi feladatonknt.

1. feladat pldaINPUT$ cat logfilepityuka 3 1marcsi 2 1pityuka 2 2OUTPUT$ ./print_log.awk logfilemarcsi 2 old. - 12 Ftpityuka 7 old. - 42 Ft---Osszesen: 9 old. - 54 Ft

2. feladatrjon awk szkriptet, ami egy cg belptet krtys nyilvntartrendszer havi naplfjljt kapja paramterl, majd feldolgozza az alkalmazottak ki- s belpsi adatait. A naplfjl tartalmazza a dolgozk nevt, a munkavgzs kezdetnek s vgnek idpontjt. Szmolja ki a kt idpont kztt eltelt idt s sszestse a ledolgozott munkarkat az adott hnapra. Az emberek a ledolgozott munkark szerint kapnak fizetst s az egy napra elrt rk mennyisge 8 ra. Ha valaki kevesebbet dolgozik bntetst, ha tbbet jutalmat kap, ezrt ezeket is sszesteni kell tovbbi kt oszlopban. Vgl minden emberre ki kell szmolni, hny napot dolgozott a hnapban.A bemenet formtuma (a mezk pontosvesszvel elvlasztva):NEV;KEZDES(HH:MM);VEG(HH:MM)A kimenet formtuma (az elvlaszt karakter tabultor):NEVLEDOLGOZOTT(HH:MM)TOBB(HH:MM)KEVESEBB(HH:MM)NAPOK

2. feladat pldaINPUT$ cat marcius.txtBna Bla;05:10;13:15Dolgoz Emlia;06:00;14:00Kovcs Ceclia Emese;06:00;15:00Dolgoz Gza;06:00;12:00Bna Bla;05:10;13:15Dolgoz Emlia;06:00;14:00Kovcs Ceclia Emese;06:00;15:00OUTPUT$ ./osszesit.awk marcius.txtBna Bla16:100:100:002Dolgoz Elmlia16:000:000:002Kovcs Ceclia Emese18:002:000:002Munks Gza6:000:002:001

3. feladatrjon awk szkriptet, ami ellenrzi a megadott fjlban szerepl felhasznli adatokat (felhasznl nv, e-mail cm, jelsz, felhasznli csoport, HOME knyvtr). Az adatok formja a kvetkez (pontosvessz az elvlaszt karakter):USERNEV;E-MAIL;JELSZO;CSOPORT;HOME_KONYVTA

A mezkre ezek a megszortsok vannak rvnyben:Minden sorban pontosan t mez szerepel (ha ez nem teljesl a tbbit nem kell vizsglni)USERNEV s CSOPORT: csak az angol bc kis- s nagybetit, valamint szmokat tartalmazhat. Nem kezddhet szmmalE-MAIL: [email protected], ahol az AZONOSITO csak az angol bc kis- s nagy betit, szmokat s . (pont) karaktert tartalmazhat, gy, hogy pontot nem kvethet egy jabb ponta HOST-ban csak az angol bc kisbeti s a - szerepelhetnek s egyms utn tbb HOST-ot is meg lehet adni ponttal elvlasztva (pl.: stud.u-szeged)DOMAIN legalbb kett, legfeljebb hrom karakterbl (angol bc kis beti) ll azonost (pl.: hu, com, org, edu, )JELSZO: angol bc kis- s nagybeti, szmok, \, _, /HOME_KONYVTAR: abszolt tvonalat kell megadniA mezk tartalmaznak legalbb egy karaktert.

Ha egy sor valamelyik szablyt megsrti rja ki a kpernyre a sor szmt s a megsrtett szablyt szveggel. Azt is jelezze, ha minden szably rvnyes egy adott sorra.

3. feladat pldaINPUT$ cat users.txth123456;[email protected];123*122;hallgatok;home/h123456h1283;h654321;[email protected];123/122;hallgatok;/home/h654321

OUTPUT$ ./validateUsers.awk users.txt1. sor: rossz a jelszo formatuma (123*122)!1. sor: rossz a home konyvtar formatuma (home/h123456)!2. sor: nincs 5 rekord megadva!3. sor: OK!

4. feladatrjon szkriptet, ami els paramterknt az ls -l parancs kimenett vrja. A szkriptnek meg kell keresnie a listbl a log-fjlokat, majd cskken sorrendben ki kell rnia, hogy az adott tpus log-fjlbl mennyi van. A log-fjlok alakja: 'vmi.log'. Az ilyen tpus tovbbi log-fjlok: 'vmi.log.1', 'vmi.log.2'...A kikts csak annyi, hogy az eredeti nevet egy pont majd egy szmjegy kvesse. Teht pl. a 'vmi.log.5.gz' is 'vmi.log' tpus log fjl. (Megjegyzs: Ilyen fjlokat nagy esllyel tallsz a /var/log mappban.)4. feladat pldaINPUTsszesen 15drwxr-xr-x 2 root root 4096 2009-10-17 06:40 apparmordrwxr-xr-x 2 root root 4096 2010-04-02 15:39 apt-rw-r----- 1 syslog adm 28358 2010-04-09 09:17 auth.log-rw-r----- 1 syslog adm 9826 2010-04-05 23:19 auth.log.1-rw-r----- 1 syslog adm 2092 2010-03-30 17:29 auth.log.2.gz-rw-r----- 1 syslog adm 625 2010-03-17 03:21 auth.log.3.gz-rw-r----- 1 syslog adm 752 2010-03-10 10:55 auth.log.4.gz-rw-r----- 1 root adm 31 2009-10-28 21:55 boot-rw-r--r-- 1 root root 39960 2009-10-28 21:56 strap.log-rw-r--r-- 1 root root 39960 2009-10-28 21:56 bootstrap.log-rw-r--r-- 1 root root 39960 2009-10-28 21:56 bootstrap.log.gz-rw-r----- 1 syslog adm 274058 2010-04-09 10:14 daemon.log-rw-r----- 1 syslog adm 53932 2010-04-05 23:23 daemon.log.1-rw-r----- 1 syslog adm 14815 2010-03-30 17:29 daemon.log.2.gz-rw-r----- 1 syslog adm 5681 2010-03-17 03:48 daemon.log.3.gz

OUTPUTLog fajlok szama:auth.log : 5daemon.log : 4bootstrap.log : 1strap.log : 1

5. feladatrjon olyan szkriptet, ami egy fjlt vr bemenetknt. A szkript soronknt olvassa a fjlt, s Ha egy olyan sort tall, amiben szmok s sszeads vagy kivonsjelek kvetik egymst szkzzel elvlasztva, akkor vgezze el a mveletet, majd rja ki az eredmnyt. Ha kt mvelet vagy kt szm kveti egymst, akkor rjon ki hibt. Feltehetjk, hogy ms hiba nem fordulhat el ezekben a sorokban. Ha # jellel kezddik a sor, akkor az utna lev rszt rja ki. Brmely egyb karakterrel kezdd sort ugorja t.5. feladat pldaINPUT1 + 2 - 4 + 3#ez egy megjegyzs1000 + 100 + 10 + 1ezzel a soral nem csinl semmit1 + 1 2 + 31 - - 2OUTPUT2ez egy megjegyzs1111Hiba: ket szam egymas utan!Hiba: ket muvelet egymas utan!6. feladatrjon szkriptet, ami egy szveges llomnyt vr bemenetknt. A szkript keresse meg az email cmeket, valamint a telefonszmokat. Az email cm formja: '[email protected]', a telefonszm formja: +00/00-000-0000 ahol a 0 tetszleges szmjegyet jell. A szkript keresse meg tovbb azokat az email cm telefonszm prokat, amelyek ugyan abban a sorban vannak, s az email cmet legfeljebb 20 karakter tvolsgra kveti a telefonszm (ez a 20 karakter nem tartalmazhat tovbbi email cmet, s feltehetjk, hogy egy email cm egy sorban legfeljebb egyszer szerepel).A szkript elbb rja ki ezeket a prosokat, majd rja ki a leggyakoribb email cmeket s telefonszmokat, majd rja ki, hogy hny email cm van tlagosan egy sorban, vgl, hogy hny telefonszm van tlagosan egy sorban.

6. feladat pldaINPUTLorem ipsum dolor sit amet, [email protected] consectetur adipiscing elit. +36/30-333-0303ultrices vel urna. Etiam massa velit, +36/80-121-0264 pretium sit amet vestibulum quis,auctor. Sed vestibulum mi ut lacus scelerisque pretium fringilla [email protected]. Curabitur in lacus eu libero accumsan rutrum. Morbi imperd [email protected]@gmail.com porttitor. +36/20-211-2345 Etiam quis +36/20-211-2345 massa nec quamfaucibus +36/20-211-2345 lacus non tincidunt orci consectetur. +34/20-624-6321 [email protected] [email protected] +36/20-211-2345 eros tortor, adipiscing sit amet eu,Duis ultricies sem nec elit interdum [email protected] ac facilisis [email protected]

OUTPUTOsszetartozo parosok:[email protected] : +36/[email protected] : +36/20-211-2345Legtobbszor elofordulo email: [email protected] elofordulo telefonszam: +36/20-211-2345Emailek soronkenti gyakorisaga: 1Telefonszamok soronkenti gyakorisaga: 0.8757. feladatrjon awk scriptet, amely jelenlti alkalmak, valamint a zh pontszmok alapjn meghatrozza, hogy melyik hallgatk bocsthatak vizsgra. A script egy fjlt kap, amelyben az adatok szkzkkel vannak elvlasztva. Az els oszlopban a hallgat EHA kdja szerepel, amelyek 14 db + vagy - jel kvet annak megfelelen, hogy a hallgat jelen volt-e az adott rn vagy nem. Ezutn a 3 zh pontszma kvetkezik, minden zh-ra maximlisan 10 pont kaphat. Ha egy hallgat nem rta meg valamelyik zh-t, akkor az arra kapott pontszm hinyzik (nincs nulla rva helyette), s csak a kt legjobb zh szmt.Egy hallgat akkor jelentkezhet vizsgra, ha legfeljebb kt hinyzsa van, valamint a kt legjobb zh pontszmnak sszege elrte a kt zh-ra kaphat maximlis pontszm felt.Ha a hallgat vizsgzhat, a script rja ki a vizsgazhat szveget, tovbb a hallgat ltal szerzett pontot zrjelben, ellenkez esetben a nem vizsgazhat szveget.

7. feladat plda$ cat pontszamok.txtNAGRAAT.SZE + + + + - + + + + + + + - + 9 3 7DEGQABT.SZE + + + + + + + + + + + + + + 4 5 4PAZRAAT.SZE + + + - - + + + - + + + + + 7 8 6FOEPACT.SZE + + - + + + + + + + + + + + 6 8BALQAAT.SZE + + + + + + + + + + + + + + 10 9 10$ ./vizsgaztato.awk pontszamok.txtNAGRAAT.SZE vizsgazhat(16)DEGQABT.SZE nem vizsgazhatPAZRAAT.SZE nem vizsgazhatFOEPACT.SZE vizsgazhat(14)BALQAAT.SZE vizsgazhat(20)

8. feladatAdott egy fjl, amely hallgatk EHA kdjait s rszteljestseik pontszmait (sszesen hallgatnknt 5 db) trolja gy, hogy egy hallgat adatai egy sorban vannak, az EHA kddal kezddnek s az rtkeket egy-egy tabultor karakter vlasztja el. A fjlban olyan sorok is elfordulhatnak, amelyek nem EHA kddal (7 kezet nlkli nagybet, s a .SZE szveg) kezddnek, ezeket kommentknt kell rtelmezni, azaz a szmtsoknl nem kell figyelembe venni. Az EHA kddal kezdd sorok mindegyikben 5 szmrtk van. Ksztsen olyan awk szkriptet, amely kirja a kpernyre szkzzel elvlasztva azon hallgatk EHA kdjt, akik 35-nl tbb pontot rtek el sszesen! A szkript rja ki a kpernyre az tlagos elrt sszpontszmot is.

8. feladat plda$ cat hallgpont.txtDelelotti csoport:XXXXAAT.SZE 5 12 9 4 15Delutani csoport:YYYYAAT.SZE 3 10 5 5 7ZZZZAAT.SZE 1 15 10 5 12$ ./feladat.awk hallgpont.txtXXXXAAT.SZE ZZZZAAT.SZE tlag: 39.3333

9. feladatAdott egy 3 oszlopos fjl, melynek els kt oszlopa egy-egy azonostt tartalmaz, a harmadik oszlop pedig a kt egyed kzti tvolsgotrjon egy awk programot, amelyik ebbl az llomnybl egy tvolsgmtrixot kszt!a adott kt egyedhez nem tartalmaz a fjl tvolsgot, akkor azokra a helyekre N/A kerljn

Vegye figyelembe, hogy ha az A B tvolsgrtk sor szerepel a fjlban, akkor a B A tvolsgrtk sor nem fog, mert a tvolsg szimmetrikus. Emellett az A A 0 sorok sem szerepelnek a fjlban, ugyanis brmely egyed nmagtl vett tvolsga 0.A tvolsgmtrix elksztse mellett szmolja ki az egyedek kzti tlagos, maximlis s minimlis tvolsgot!

9. feladat plda (input)AN51 AN50 88AN52 AN50 167AN52 AN51 125AN53 AN50 81AN53 AN51 93AN53 AN52 170AN54 AN50 120AN54 AN51 119AN54 AN52 117 AN54 AN53 66

9. feladat plda (tvolsgmtrix) AN50 AN51 AN52 AN53 AN54 AN55 AN56 AN57 AN58 AN59 A50 0 88 167 81 120 100 131 87 115 82 A51 88 0 125 93 119 116 137 115 111 112 A52 167 125 0 170 117 133 80 124 113 142 A53 81 93 170 0 66 47 88 53 51 41 A54 120 119 117 66 0 23 55 43 38 49 A55 100 116 133 47 23 0 60 36 32 32 A56 131 137 80 88 55 60 0 58 65 62 A57 87 115 124 53 43 36 58 0 36 31 A58 115 111 113 51 38 32 65 36 0 43 A59 82 112 142 41 49 32 62 31 43 0

10. feladatrjon egy olyan awk scriptet, amely CSV formtumban trolt tblzatot kpes HTML tblzatt konvertlni.Preczebben, a CSV formtum egy olyan szveges formtum, amely tblzatok lerst teszi lehetv. Az llomny minden sora a tblzat egy sornak felel meg. A tblzat cellit a szveges llomny soraiban vesszk hatroljk. Ezt a trolsi formt kell HTML tblzatt alaktani. A HTML egy szveges jell nyelv, amelyben a tblzatokat s jellelemek kzz rjuk. A tblzat sorait s jellk kzz tesszk, mg a tblzat egyes cellit s elemek kzz rjuk. A HTML llomnyok tetszets megjelentsre a webbngszk hasznlhatak.

10. feladat$ cat sample.csv; cat sample.csv | awk -f program.awk > sample.html; cat sample.html1,2,34,5,6

HTML tblzat

123

456

11. feladatAdott egy terlet, amit trfigyel kamerkkal riznek. A kamerk mindig az rk elejn (xy:00-kor) kapcsolnak be s utna egsz szm rn keresztl maradnak bekapcsolva. Egy adott nap kamera aktivitst tartalmaz log fjl a kvetkezkppen felpl rekordokbl ll:kamera szma:bekapcsols ideje rban megadva:kikapcsols ideje rban megadvaaz rk a [0, 24] intervallumba esnekrjon olyan awk scriptet, aminek egyetlen paramtere egy fenti tpus logfjl.A script gyjtse ki idrendi sorrendben a fehr foltokat, azaz azokat az rkat, amikor egyik kamera sem mkdtt s rja ki a standard outputra. rja ki a fehr foltok sszidejt is11. feladat pldaINPUT$cat camera.log1:09:132:12:223:01:122:08:113:07:081:00:22OUTPUT$./terfigyelo camera.logFeher foltok22-2323-24Teljes ido: 2 ora

12. feladatAdott egy tzfal log fjlja, ami minden sorban felhasznlk bngsz elzmnyeit tartalmazza a kvetkez felpts szerint:felhasznl neve;megltogatott weboldal neve;ltogats idpontjarj olyan awk scriptet, ami kilistzza a standard outputra a 3 legltogatottabb weboldalt. Az egyes oldalak mell rd ki azt is, hogy hnyszor ltogattk meg ket. Ha valamelyik helyen holt verseny alakulna ki, minden azonos helyezs oldalt rj ki.

12. feladat pldaINPUT$cat firewall.logrossz_tanulo;c;2010-03-22:0356rossz_tanulo;www.inf.u-szeged.hu;2010-03-22:0350jo_tanulo;www.freeforum.oprdsz.hu;2010-03-21:1616jo_tanulo;www.inf.u-szeged.hu;2010-02-23:1250jo_tanulo;www.gmail.com;2010-01-12:1245user;www.gmail.com;2010-02-19:1901rossz_tanulo;www.gmail.com;2010-02-19:1903kozepes_tanulo;www.gmail.com;2010-04-01:1121kozepes_tanulo;www.inf.u-szeged.hu;2010-03-22:0750OUTPUT$./top3 firewall.log1. www.gmail.com2. www.inf.u-szeged.hu3. www.freeforum.oprdsz.hu3. www.puska.hu

13. feladatrjon szkriptet, mely paramterknt egy fjlt vr, amely az ls -lR parancs egy lehetsges kimenett tartalmazza. A szkript kirja azoknak a fjloknak a nevt, melyek legalbb 3 knyvtr mlysgben helyezkednek el az aktulis knyvtrhoz kpest. A kirs utn a felhasznltl vrja az egyik fjl nevt, majd kirja annak a mrett.14. feladatrjon szkriptet mely paramterknt egy fjlt vr. A fjl tartalma orszgok, tjegysgek, kiindul pontok, cl pontok s tvolsgok ;-vel elvlasztott sorozata. A szkript feladata az tvonalak darabszma szerint cskken sorrendben megadni az orszgokat, valamint az tvonalak sszhossza szerint nvekv sorrendben megadni a tjegysgeket.14. feladat pldaINPUTMagyarorszg; Brzsny; Nagybrzsny; Mrianosztra; 18Romnia; Kelemen-havasok; Maroshvz, Pietros, 25Magyarorszg; Mtra; Gyngys; Mtraszentistvn; 23Magyarorszg; Brzsny; Disjen; Nagy-hideg-hegy; 12OUTPUTOrszgok:Magyarorszg 3Romnia 1

Tjegysgek:Mtra 23Kelemen-havasok 25Brzsny 30