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
 
I corsi di Scienze Matematiche Fisiche e Naturali
 
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