Esercizi finali
Ora che vi siete impratichiti con gli script, potete provare ad affrontare degli esercizi "completi" che richiedano tutte le compotenze acquisite fino ad ora.
Lista degli utenti
Il comando getent passwd
dato su una delle macchine
genera la lista di tutti gli utenti presenti, in un formato
particolare (provare per vedere com'è fatto l'output).
Si realizzi uno script per estrarre la lista di tutti i nomi
e cognomi da questa lista, ordinati per cognome.
È disponibile una
Video-soluzione dell'esercizio (che richiede
la password di laboratorio per accedere, per non esporre dati sensibili pubblicamente).
Ordinare una collezione musicale
Nella cartelle /home/robol/music
trovate una
(finta) collezione musicale (in realtà composta solo da file
vuoti), che potete copiare nella vostra home con il comando
$ cp -r /home/robol/music ~/I file musicale hanno tutti come nome una stringa
Autore_Titolo.mp3
.
Si scriva uno script per riorganizzare la collezione all'interno di
cartelle, divisa per autore. I file musicali finali dovranno avere
come nome solamente il titolo, e come estensione
.mp3
.
Trovare tutti gli script
Osserviamo che tramite il comandofile
possiamo
identificare gli script bash. Ad esempio:
$ file /usr/bin/eagle /usr/bin/eagle: Bourne-Again shell script, ASCII text executable
Si costruisca uno script che crei un file
scripts.txt
che listi tutti gli script bash contenuti in /usr/bin
;
più nel dettaglio, ogni riga deve contenere il nome dello script
e la sua dimensione in byte, separati da una virgola. Questo è un file
in formato CSV, che può essere facilmente importato in Microsoft Excel
o Libreoffice Calc per successive analisi. Si calcoli anche lo spazio
occupato da tutti gli script, e lo si stampi (senza scriverlo nel file).