A feladatsorhoz tartozó bemeneti fájlok letölthetők ide kattintva.
Megoldás: A feladatsor egy lehetséges megoldása letölthető ide kattintva.
Írj BASH szkriptet 1.sh
néven, amely két paramétert kap: rendre egy szót és egy számot! Ha a szám 1-nél kisebb, akkor írasd ki a HIBA!
szöveget a konzolra! Ellenkező esetben írasd ki az első paraméterben kapott szót annyiszor, mint amennyi a második paraméterben kapott szám!
Példa a szkript működésére:
> ./1.sh kecskesajt -1 HIBA! > ./1.sh kecskesajt 4 kecskesajt kecskesajt kecskesajt kecskesajt
Írj BASH szkriptet 2.sh
néven, amely két fájl elérési útvonalát kapja paraméterül! A program cserélje meg a paraméterben kapott két fájl tartalmát!
Példa a szkript működésére:
> ./2.sh inputs/rick_roll.txt inputs/all_star.txt > cat inputs/rick_roll.txt Hey now, you're an all-star, get your game on, go play Hey now, you're a rock star, get the show on, get paid And all that glitters is gold Only shooting stars break the mold > cat inputs/all_star.txt Never gonna give you up Never gonna let you down Never gonna run around and desert you Never gonna make you cry Never gonna say goodbye Never gonna tell a lie and hurt you
Írj BASH szkriptet 3.sh
néven, amely két paramétert vár: rendre egy fájl elérési útvonalát és egy stringet! A szkript válogassa ki az első paraméterben kapott fájlnak azon sorait, amelyek bármilyen formában (a kis- és nagybetűket nem megkülönböztetve, akár részstringként is) tartalmazzák a második paraméterben kapott stringet! Ezeket a sorokat a program írja bele egy result.dat
nevű állományba!
man
paranccsal vagy a --help
kapcsolóval keresd meg, hogy a fájlban való mintaillesztést (keresést) végző parancsnak mely kapcsolójával lehet a kis- és nagybetűket nem megkülönböztetni a mintaillesztéskor!
Példa a szkript működésére:
> cat inputs/meow.txt Ebben a sorban szerepel egy macska, illetve meg egy macska. Ebben a sorban nem, itt csak kutyak, lovak es unikornisok vannak. Ebben a sorban egyetlen allat sincs. Az egyik babona, hogy a FEKETE MACSKA balszerencset hoz. A hazimacska a macskafelek koze tartozo kisebb termetu allat. Lehetne meg tobb peldamondatot is kitalalni, de az a baj, hogy lusta vagyok. > ./3.sh inputs/meow.txt macska > cat result.dat Ebben a sorban szerepel egy macska, illetve meg egy macska. Az egyik babona, hogy a FEKETE MACSKA balszerencset hoz. A hazimacska a macskafelek koze tartozo kisebb termetu allat.
Írj BASH szkriptet 4.sh
néven, amely FAJLNEV.KITERJESZTES
formátumú állományneveket kap paraméterül (tehát a névben egyetlen pont karakter található, ami előtt a fájl neve, utána pedig a fájl kiterjesztése szerepel)! A szkript számolja meg, hogy hány java
kiterjesztésű fájl érkezik paraméterben! A kiterjesztés vizsgálatakor a kis- és nagybetűket ne különböztesd meg (tehát pl. Macska.java
és MAIN.JAVA
ugyanúgy java
kiterjesztésű)!
Példa a szkript működésére:
> ./4.sh Macska.java Bolygo.java kecske.txt java.html MAIN.JAVA 3 darab Java kiterjesztesu fajlt kaptam parameterben.
Írj BASH szkriptet 5.sh
néven, amely egész számokat vár paraméterül! A szkript írja ki a paraméterben kapott értékek közül a páros számok összegét, valamint a páratlan számok szorzatát! Amennyiben a szkriptet parancssori paraméterek nélkül akarjuk futtatni, akkor írasd ki a HIBA!
szöveget a konzolra! Egyéb hibakezeléssel nem kell foglalkoznod.
Példa a szkript működésére:
> ./5.sh 7 4 1 -2 8 5 A paros szamok osszege: 10 A paratlan szamok szorzata: 35 > ./5.sh HIBA!
Írj BASH szkriptet 6.sh
néven, amely egy könyvtár elérési útvonalát várja paraméterben! A szkript írja ki a konzolra a példában látható formátumban, hogy a paraméterben kapott könyvtár txt
kiterjesztésű fájljaiban összesen hány szó található! Amennyiben nem egy könyvtár elérési útvonala érkezik paraméterben, akkor írass ki hibaüzenetet és a program lépjen ki 11-es hibakóddal!
Példa a szkript működésére:
> ./6.sh inputs/ A(z) all_star.txt fajlban talalhato szavak szama: 35 A(z) meow.txt fajlban talalhato szavak szama: 58 A(z) rick_roll.txt fajlban talalhato szavak szama: 34 ------------------------------------------------------ A txt-fajlokban levo szavak szama osszesen: 127 > ./6.sh inputs/rick_roll.txt HIBA! Nem egy konyvtar eleresi utvonalat adtad meg! > echo $? # Program kilépési kódjának kiíratása. 11
Írj BASH szkriptet 7.sh
néven, amely egy könyvtár elérési útvonalát várja paraméterben! A szkript írja ki a konzolra a paraméterben kapott könyvtárban található, legtöbb sorból álló php
kiterjesztésű fájlnak a nevét! Ha több fájl is ugyanannyi sorból áll, akkor közülük az ábécé sorrendben hamarabb szereplő fájlnevet válaszd!
Példa a szkript működésére:
> ./7.sh inputs/ 2.php
Készíts egy egyszerű számkitalálós játékot egy 8.sh
nevű fájlba! A gép "gondol" egy számra 1 és 1000 között (az 1 és az 1000 is még beletartozik a lehetséges számok intervallumába), és a felhasználó ezt a számot próbálja meg minél kevesebb próbálkozással kitalálni. A felhasználónak a játék elején 20 élete (próbálkozási lehetősége) van.
Gratulalok, nyertel!
szöveget, a kitalált számot és a megmaradt életek számát a konzolra!Sajnos nem nyertel!
szöveget és a gondolt számot a konzolra!Példa a szkript működésére:
> ./8.sh Gondoltam egy szamra 1 és 1000 kozott, talald ki, melyikre! Eletek szama: 20 Tipp: 500 Kisebb Tipp: 250 Nagyobb Tipp: 350 Nagyobb Tipp: 400 Nagyobb Tipp: 450 Kisebb Tipp: 420 -------------------------------- Gratulalok, nyertel! A gondolt szam valoban 420 volt. Megmaradt eletek: 15.