Elaborazione delle tracce con awk
This presentation is the property of its rightful owner.
Sponsored Links
1 / 10

Elaborazione delle tracce con AWK PowerPoint PPT Presentation


  • 62 Views
  • Uploaded on
  • Presentation posted in: General

Elaborazione delle tracce con AWK. 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.

Download Presentation

Elaborazione delle tracce con AWK

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Elaborazione delle tracce con awk

Elaborazione delle tracce con AWK


Introduzione ad awk

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


Struttura di uno script awk

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

    }


Esempio 1

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


Lettura delle colonne di una riga

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


Esempio 2

Esempio 2

{

#per ogni riga stampa l’elemento della 1a e della 5a colonna

printf “%s %s\n”,$1,$5;

}


Esempio 3

Esempio 3

{

# stampa solo le righe che in prima colonna contengono ABC

if ( $1 ~ /ABC/ ) {

printf “%s\n”,$0;

}

}


Esempio 4

Esempio 4

{

# stampa solo le righe che hanno la prima colonna uguale a ABC

if ( $1 == “ABC” ) {

printf “%s\n”,$0;

}

}


Esempio 1 con ns2

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


Esempio 2 con ns2

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


  • Login