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:

->