La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Elaborazione delle tracce con AWK. Introduzione ad AWK AWK è un linguaggio per la manipolazione di file di testo organizzati in righe e colonne Pertanto.

Presentazioni simili


Presentazione sul tema: "Elaborazione delle tracce con AWK. Introduzione ad AWK AWK è un linguaggio per la manipolazione di file di testo organizzati in righe e colonne Pertanto."— Transcript della presentazione:

1 Elaborazione delle tracce con AWK

2 Introduzione ad AWK AWK è un linguaggio per la manipolazione di file di testo organizzati in righe e colonne Pertanto è particolarmente adatto ad elaborare i file di traccia prodotti da NS-2 È semplice da usare È interpretato Ha una sintassi simile al C

3 Struttura di uno script AWK Uno script AWK è costituito da 3 blocchi (i blocchi vuoti possono essere omessi): BEGIN{ # Il primo blocco viene eseguito solo all’inizio dell’elaborazione del testo } { # Il secondo blocco è eseguito per ognuna delle righe del testo elaborato } END{ # Il terzo blocco è eseguito dopo l’ultima riga }

4 Esempio 1 BEGIN{ # inizializza contatore contaRighe=0; } { # per ogni riga elaborata incrementa contatore contaRighe++; } END{ #stampa contatore printf “%d\n”,contaRighe; } awk –f nomeFileScript.awk nomeFileTesto.txt

5 Lettura delle colonne di una riga Durante l’esecuzione del blocco centrale, per ogni riga elaborata: $0 contiene l’intera riga $1 contiene la prima colonna $2 contiene la seconda colonna … $10 decima colonna …

6 Esempio 2 { #per ogni riga stampa l’elemento della 1a e della 5a colonna printf “%s %s\n”,$1,$5; }

7 Esempio 3 { # stampa solo le righe che in prima colonna contengono ABC if ( $1 ~ /ABC/ ) { printf “%s\n”,$0; }

8 Esempio 4 { # stampa solo le righe che hanno la prima colonna uguale a ABC if ( $1 == “ABC” ) { printf “%s\n”,$0; }

9 Esempio 1 con NS2 # Stampare l’istante di ricezione dei pacchetti e l’identificativo BEGIN{ printf “Istante\tPacchetto\n”; } { if ( ( $4 ~ /cbr/ ) && ( $1 ~ /r/ ) ) { printf “%e\t%d\n”,$2,$11; } r 1.84471 2 1 cbr 210 ------- 1 3.0 1.0 195 600

10 Esempio 2 con NS2 # conta il numero di pacchetti scartati BEGIN{ scartati=0; } { if ( ( $4 ~ /cbr/ ) && ( $1 ~ /d/ ) ) { scartati++; } END{ printf “%d\n”,scartati; } d 1.84609 2 3 cbr 210 ------- 0 0.0 3.1 225 610


Scaricare ppt "Elaborazione delle tracce con AWK. Introduzione ad AWK AWK è un linguaggio per la manipolazione di file di testo organizzati in righe e colonne Pertanto."

Presentazioni simili


Annunci Google