Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Clemente Galdi » 9.Esercitazioni su awk scripting - parte seconda


Esercizio 1

Dato l’output del comando ps aux calcola, per ogni utente, le percentuali di cpu e di memoria utilizzata.
Il comando ps aux ritorna un record in cui le informazioni richieste sono indicate con “%MEM” e “%CPU”.

Esercizio 2

Il file testfile.txt: Mostra codice ha il seguente formato:
Nome,Cognome:Gruppo:Voto test 1,Voto test 2[,/]Voto test 3
Scrivere uno script awk che calcoli i voti minimo, massimo e medio riportati da ogni gruppo.

Esercizio 3

Il file testfile3.txt: Mostra codice, ha il seguente formato:
Nomecittà:X,Y[;\n]
Scrivere uno script awk che:

  • Per ogni coppia di città contenute nel file, visualizza la distanza eucliudea
  • Visualizza la coppia di città con distanza minima e massima tra quelle analizzate.

Esercizio 4

Il file testfile4.txt: Mostra codice contiene le informazioni relative agli acquisti di un utente. Ogni riga è composta come segue:

  • Colonna 1: Identificativo utente (si assuma per semplicità un intero);
  • Colonna 2: Numero di articoli acquistati
  • Dalla colonna 3 in poi, per ogni articolo acquistato esistono due colonne, la prima indica il numero di oggetti acquistati e la successiva il costo unitario degli stessi.

Si scriva uno script awk che, per ogni utente il cui identificativo inizia per 1 o per 3, visualizza il massimo pagato per un tipo di oggetto.

Esempio. Consideriamo il contenuto del seguente testfile.txt: Mostra codice:
La prima riga corrisponde ad una fattura per il cliente "1". Il cliente ha acquistato 2 oggetti. In particolare, ha acquistato 5 unità del primo oggetto il cui costo unitario è 10 (costo per tipo oggetto 50) ed ha acquistato 2 unità del secondo oggetto il cui costo unitario è 7 (costo 14).
Lo stesso utente ha speso, in un secondo momento 32=4*8, 14=2*7 e 1=1*1. Quindi il massimo che l'utente 1 ha speso è 50.
Visto che l'unico utente che soddisfa la condizione "l'identificativo inizia per 1 o 3"è  l'utente 1, lo script visualizza "L'utente 1 ha speso 50".
Non esistono clienti il cui id inizi per "3".

Esercizio 5

Il file testfile5.txt: Mostra codice ha il seguente formato:
Nome,Cognome:val1:val2:val3:...
Dove il numero di valori associati ad ogni record può essere differente.
Scrivere uno script awk che:

  • Calcoli la somma dei valori associati ad ogni utente;
  • Calcoli la somma massima, minima e media.

Esercizio 6

Scrivere uno (o piu’) script awk che, per ogni utente connesso visualizzi il numero di file e la somma delle dimensioni dei file di cui l’utente è proprietario contenuti nella directory /tmp.

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion