====== Esercitazione 5 ======
Ancora su scripting e bash.
===== Esercizio 1: mygzip =====
//mygzip// e' uno script bash che prende come parametro una directory ed una lista di file
bash:~$ mygzip dir file1 ... filek
applica il comando ''gzip'' a tutti i file file1 ... filek presenti nella directory dir
===== Esercizio 2: dirdiff =====
Realizzare lo script //dirdiff// prende tre parametri
bash:~$ dirdiff dir1 dir2 dir3
ed effettua la differenza fra la directory ''dir1'' e la directory ''dir2'' scrivendo i lrisultato in ''dir3''. In pratica copia in ''dir3'' ogni file di ''dir1'' che NON e' presente in ''dir2'' con lo stesso nome.
===== Esercizio 3: modify =====
Realizzare uno script Bash che realizza un comando di sintassi:
modify [dir] suffix
che cambia il nome di tutti i file in //dir// aggiungendo un suffisso ''.suffix''. Se //dir// non e' specificata ridenomina i
file nella directory corrente.
Infine, //modify// stampa tutti i file modificati lasciando fra uno e l'altro una riga vuota
file1.suffix
file2.suffix
....
===== Esercizio 4: selectfile =====
Realizzare uno script Bash che selezioni tutti i file con un certo suffisso nella directory corrente, contro lli fra questi quali hanno diritto di esecuzione settato per l'owner e presenti un menu in cui si richiede quale di questi file deve essere eseguito.
Ad esempio:
bash:~$ ls
primo.test primo.check zz.test zz.check
bash:~$ selectfile test
1) primo.test
2) zz.test
Scelta?
===== Esercizio 5: count =====
Realizzare uno script ''count'' che legge da standard input dei record relativi ad esami registrati, ciascun record ha formato
matricola_studente:codice_esame:voto\n
lo script conta per ogni codice quanti sono gli studenti che hanno superato quell'esame e al termine dell'input (EOF) stampa sullo standard output una serie di righe
codice_esame n_studenti
//Suggerimento:// utilizzare ''read'' per leggere da standard input e gli array bash per memorizzare i vari contatori.