Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente |
informatica:sol:laboratorio21:esercitazionib:esercitazione12 [18/05/2021 alle 07:00 (4 anni fa)] – [Esercizio 4] Alessio Conte | informatica:sol:laboratorio21:esercitazionib:esercitazione12 [21/05/2021 alle 06:34 (4 anni fa)] (versione attuale) – [Esercizio 4] Alessio Conte |
---|
===== Esercizio 4 ===== | ===== Esercizio 4 ===== |
| |
Dati i file testuali dell'esercizio precedente, scrivere uno script bash che legge i file testuali dell'esercizio precedente, prende solo la parte **intera** dei valori, e scriva un file (il cui nome viene specificato come parametro) che contiene i numeri in ordine crescente e senza duplicati. | Dati i file testuali dell'esercizio precedente, scrivere uno script bash che legge i file testuali dell'esercizio precedente (specificando come argomento la cartella che li contiene), prende solo la parte **intera** dei valori, e scriva un file (il cui nome viene specificato come secondo argomento) che contiene i numeri in ordine crescente e senza duplicati. |
| |
Il contenuto atteso del file prodotto è | Il contenuto atteso del file prodotto è |
</code> | </code> |
| |
(suggerimento: è possibile creare un file di appoggio in cui inserire i valori non ordinati. Si consiglia di guardare attentamente le opzioni dei comnandi ''sort'' e ''cut''.) | (suggerimento: è possibile creare un file di appoggio in cui inserire i valori non ordinati. Si consiglia di guardare attentamente le opzioni dei comnandi ''sort'' e ''cut'', e si può inserire il comando ''tr -s " "'' nella pipeline per comprimere gli spazi duplicati.) |
| |
===== Esercizio 5 ===== | ===== Esercizio 5 ===== |
| |
Per questo esercizio utilizzare una versione a scelta del sistema client-server delle esercitaioni precedenti (ad es, esercizio 2 dell'esercitazione 11), modificando il client in modo che prenda la parola (o più parole) da capitalizzare come argomento del main, e stampi sullo standard output solo il risultato. | Per questo esercizio utilizzare il sistema client-server dove il server trasforma le stringhe in upper case (ad es Esercitazione 9, esercizio 2), modificando il client in modo che prenda la parola (o più parole) come argomento del main, e stampi sullo standard output solamente il risultato (e.g., il comando ''./client_toupper ciao'' stampa CIAO su stdout e termina). |
| |
Realizzare uno script bash che prende come argomento un file di testo in formato .txt (ad es 'X.txt') e compie le seguenti operazioni: | Realizzare uno script bash che prende come argomento un file di testo in formato 'X.txt' (ad es, [[https://www.dropbox.com/s/nr5zqjhx2jccsyc/battiato.txt?dl=1|questo]]) e compie le seguenti operazioni: |
| |
* invoca il makefile per assicurarsi che il client e server siano aggiornati | * invoca il makefile appropriato per assicurarsi che il client e server siano aggiornati |
* avvia il server (in background) | * avvia il server (in background!) |
* per ogni parola nel file 'X.txt' avvia un'istanza del client (sempre in background) che capitalizza la parola, raccogliendo l'output di tutti i client nel file 'X-capital.txt' | * per ogni parola nel file 'X.txt' avvia un'istanza del client (sempre in background) che capitalizza la parola, raccogliendo l'output di tutti i client nel file 'X-capital.txt' |
| * una volta finito, termina il server (si possono utilizzare i comandi ''kill'' e ''pidof'') |
| |
Data la natura asincrona e parallela del sistema non è importante l'ordine o la formattazione delle parole nel file di output. Se il client permette di ricevere più parole, è anche possibile passare un'intera riga all'istanza. | Data la natura asincrona e parallela del sistema non è importante l'ordine o la formattazione delle parole nel file di output. Se il client permette di ricevere più parole, è anche possibile passare un'intera riga all'istanza. |