You are on page 1of 3

Általános ismertető:

A moria szerveren a hallgató saját home könyvtárában hozzon létre egy az EHA/NEPTUN
kódjával megegyező könyvtárat (eha kód kisbetűkkel, .kefo nélkül, illetve neptun azonosító
kisbetűvel), azon belül hozzon létre egy F21221 könyvtárat, azon belül pedig egy ZH1P_ZZ
könyvtárat.
(pl. a következő paranccsal: mkdir –p ehakód/F21221/ZH1P_ZZ ahol az ehakód az Ön EHA
kódja kisbetűkkel .kefo nélkül vagy NEPTUN kódja.)
Pl. NEPTUN kóddal rendelkező hallgató esetén: mkdir –p zcgwae/F21221/ZH1P_ZZ
A teljes elérési út a következő lesz akkor: /home/ZCGWAE/zcgwae/F21221/ZH1P_ZZ
Pl. EHA kóddal rendelkező hallgató esetén: mkdir –p kofsaag/F21221/ZH1P_ZZ
A teljes elérési út a következő lesz akkor:
/home/KOFSAAG.KEFO/kofsaag/F21221/ZH1P_ZZ

Kérem, figyeljen a felhasználónév, a feladat pontos megadására és a kis és nagybetűk közti


különbségre!

Rosszul megadott mappanév érvényteleníti a ZH-t!

Ez a könyvtár lesz az Ön munkakönyvtára. A feladattal kapcsolatos minden munkát ide


végezzen (pl. fő szkript, eredmény, ideiglenes fájlok, stb.)
A fő szkript neve run.sh legyen!

Leadáshoz hajtsa végre a következő parancsokat, és utasításokat (ahol az ehakód helyére írja
saját eha/neptun kódját kisbetűvel - eha kódnál kefo nélkül):

cd (nyomja le az enter billentyűt!)


/home/public/bin/submit.sh ehakód (nyomja le az enter billentyűt!)

Ezután SCP alapú programmal (pl. winscp) töltsék le a generált zip fájlt (saját könyvtárukban
van ehakód_dátum.zip néven), majd a fájlfeltöltéses feladatban töltsék fel!

Ha nincs feltöltve az unipoll rendszerébe a generált zip fájl, a ZH érvénytelen!


Ha nem a submit.sh által készített fájlt tölti fel, a ZH érvénytelen!
Bármely más platformon (email, teams, facebook, egyéb oldalak) elküldött dolgozat
NEM értékelhető!

Figyelmesen olvassa el a feladatot!

Írjon bash scriptet, amely a pozícionális paraméterben megadott fájlon dolgozik. A bash
szkript a kimenetét a log.txt fájlba irányítja.

Fájl szűrésével állapítsa meg, hogy 2021-ben melyik 5 államban voltak a legkevesebben.
Ezután határozza meg az átlagkeresetet az 5 államra nézve.
A bejegyzések a fájlban így néznek ki:
Jenna Morales!$41!Oct 3, 2021!Texas

A fájl ! jelekkel elválasztott sorokat tartalmaz, az utolsó oszlopban található az állam, a 3.


oszlopban a dátum hó nap, év formában. Az adott személy keresete pedig a név után, a 2.
oszlopban található $ jellel kezdve.

Eredmény: Külön sorokban az államok nevei és az átlag kereset.


Az eredményt írja ki a log.txt fájlba!

A feladatot reguláris kifejezések segítségével oldja meg, javasolt a grep manual


tanulmányozása.
A feladat során minden tanult bash segédprogramot vagy szűrőt használhat. Ezen túl szükség
esetén használjon változókat, csővezetéket, csatorna átirányítást, parancslistát, vezérlési
szerkezeteket.

A program paraméterei:
Pozícionális paraméter: a feldolgozandó fájl neve

A programot a /home/public/finance.log fájllal tesztelje!

Pl: ./run.sh /home/public/finance.log


A log.txt tartalma:
Indiana
Virginia
Mississippi
Illinois
Nebraska
$47
> qq #ures fajl letrehozasa
for i in `cat $1 | grep "2021" | cut -f4 -d'!'`
do
e=`cat $1 | grep "2021" | grep -c "$i"` #adott allamhoz megszamoljuk
hany darabbol all
echo "$e-$i" >> qq # kiirjuk egy adott formaban, hogy lehessen kesobb
dolgozni vele
done

cat qq | sort -nu | head -5 | cut -f2 -d'-' > log.txt # log.txt-be
rendezni az 5 legkevesebb allamot

osszeg=0
db=0

for allam in `cat log.txt` #log.txt tartalma alapjan ciklus szervezes


do
for i in `cat $1 | grep "2021.*\!$allam$" | cut -f2 -d'!' | cut -f2 -
d'$'` #kereset kiszedese
do
osszeg=`expr $osszeg \+ $i`
db=`expr $db \+ 1`
done
done

atlag=`expr $osszeg \/ $db`


echo '$'$atlag >> log.txt

You might also like