Napredni ukazi lupine Bash (sprotna naloga)
V sklopu te naloge demonstrirajte uporabo izbranih kompleksnejših ukazov v lupini Bash. Pripravite 6 skript, ki izvedejo v nadaljevanju opisane naloge.
Na sistem oddajte .zip paket z 6 skriptami: naloga_1.sh, naloga_2.sh, ..., naloga_6.sh. Bodite pozorni na poimenovanja, ta morajo točno ustrezati predpisanim naslovom. Pred oddajo preverite delovanje z avtomatskim preizkusom. naloga_1.sh
predvideni ukazi: wc, sort, operator |
Z ukazom wc preštejte število besed v zbirkah uvod.txt, jedro.txt in zakljucek.txt, ki se nahajajo v trenutnem kazalu. Rezultat uredite od najmanj do največ besed. naloga_2.sh
predvideni ukazi: grep
Preštejte kolikokrat se v različnih zbirkah z izvorno kodo (končnica .cpp) v trenutnem kazalu pojavi spremenljivka "stevec". naloga_3.sh
predvideni ukazi: find
Izpišite tista kazala (ang. directory), katerih ime se zaključi z znakom _ in številom. naloga_4.sh
predvideni ukazi: ls, sort, operator |
V kazalu SlikeIzletov, se nahajajo slike, poimenovane po sistemu:
dan<dan_izleta>_.jpg
Primeri takšnih slik:
Dunaj_Dec_2000_dan_1_13:00.jpg Rim_Jan_2001_dan_1_08:30.jpg Rim_Jan_2001_dan_1_13:00.jpg Rim_Jan_2001_dan_2_08:00.jpg
Izpišite seznam slik, kjer bodo slike urejene v kronološkem vrstnem redu. Najprej je potrebno urediti slike po letu in mesecu, v katerem so bile zajete (dva izleta sta lahko v istem letu, ne pa istem mesecu). Nato po dnevu izleta in nazadnje še po času. naloga_5.sh
predvideni ukazi: grep
Pripravite izpis deklaracij vseh funkcij v različnih zbirkah z izvorno kodo (končnice .c in .cpp) v trenutnem kazalu, ki kot argument prejmejo dve števili in vrnejo število. Oba argumenta in vrnjena vrednost so istega tipa: int, long, float ali double. Izpišite samo deklaracije funkcij, brez imen zbirk ali vrstic.
Primer izpisa:
int sestej(int, int); float zmnozi(float a, float b){ long izracunaj(long val_1,long val_2); double deli(double x, double y);
naloga_6.sh
predvideni ukazi: find
V trenutnem kazalu in podkazalih poiščite vse izvedljive zbirke (programe, ang. executable), katerih ime se prične s "test_" ali "izpit_". Za vsako takšno zbirko izpišite njeno ime in pot do zbirke v obliki:
->