Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoBertina Turco Modificato 9 anni fa
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.