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:

<izlet>_<mesec>_<leto>_dan_<dan_izleta>_<cas dneva>.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:

<ime> -> <pot>