Lecture de la ligne suivante : next

L'instruction next interrompt le traitement de la ligne courante et déclenche la lecture de la ligne suivante.

Exemple

Dans le script suivant, les instruction next permettent d'accélérer l'exécution en évitant le traitement de la ligne courante dans les sections suivantes celle où la ligne a été traitée.

$ nl script4.awk
     1  # Section BEGIN
     2  BEGIN {
     3          nb_0=0
     4          nb_1=0
     5          nb_2=0
     6          nb_3=0
     7          nb_4=0
     8          nb_5=0
     9          nb_6=0
    10          nb_7=0
    11          nb_8=0
    12          nb_9=0
    13  }
    14  # Section intermediaire
    15  # Traitement des departements commancant par 0
    16  $2 ~ /^0/ {
    17          print "Departement commancant par 0 ==> CP : " , $3 , "DEPT : " , $5
    18          nb_0+=1
    19          next
    20  }
    21  # Section intermediaire
    22  # Traitement des departements commancant par 1
    23  $2 ~ /^1/ {
    24          print "Departement commancant par 1 ==> CP : " , $3 , "DEPT : " , $5
    25          nb_1+=1
    26          next
    27  }
    28  # Section intermediaire
    29  # Traitement des departements commancant par 2
    30  $2 ~ /^2/ {
    31          print "Departement commancant par 2 ==> CP : " , $3 , "DEPT : " , $5
    32          nb_2+=1
    33          next
    34  }
    35  # Section intermediaire
    36  # Traitement des departements commancant par 3
    37  $2 ~ /^3/ {
    38          print "Departement commancant par 3 ==> CP : " , $3 , "DEPT : " , $5
    39          nb_3+=1
    40          next
    41  }
    42  # Section intermediaire
    43  # Traitement des departements commancant par 4
    44  $2 ~ /^4/ {
    45          print "Departement commancant par 4 ==> CP : " , $3 , "DEPT : " , $5
    46          nb_4+=1
    47          next
    48  }
    49  # Section intermediaire
    50  # Traitement des departements commancant par 5
    51  $2 ~ /^5/ {
    52          print "Departement commancant par 5 ==> CP : " , $3 , "DEPT : " , $5
    53          nb_5+=1
    54          next
    55  }
    56  # Section intermediaire
    57  # Traitement des departements commancant par 6
    58  $2 ~ /^6/ {
    59          print "Departement commancant par 6 ==> CP : " , $3 , "DEPT : " , $5
    60          nb_6+=1
    61          next
    62  }
    63  # Section intermediaire
    64  # Traitement des departements commancant par 7
    65  $2 ~ /^7/ {
    66          print "Departement commancant par 7 ==> CP : " , $3 , "DEPT : " , $5
    67          nb_7+=1
    68          next
    69  }
    70  # Section intermediaire
    71  # Traitement des departements commancant par 8
    72  $2 ~ /^8/ {
    73          print "Departement commancant par 8 ==> CP : " , $3 , "DEPT : " , $5
    74          nb_8+=1
    75          next
    76  }
    77  # Section intermediaire
    78  # Traitement des departements commancant par 9
    79  $2 ~ /^9/ {
    80          print "Departement commancant par 9 ==> CP : " , $3 , "DEPT : " , $5
    81          nb_9+=1
    82          next
    83  }
    84  # Section END
    85  END {
    86          print "Nombre total de lignes : " , NR
    87          print "Nombre de departements commencant par 0 : " , nb_0
    88          print "Nombre de departements commencant par 1 : " , nb_1
    89          print "Nombre de departements commencant par 2 : " , nb_2
    90          print "Nombre de departements commencant par 3 : " , nb_3
    91          print "Nombre de departements commencant par 4 : " , nb_4
    92          print "Nombre de departements commencant par 5 : " , nb_5
    93          print "Nombre de departements commencant par 6 : " , nb_6
    94          print "Nombre de departements commencant par 7 : " , nb_7
    95          print "Nombre de departements commencant par 8 : " , nb_8
    96          print "Nombre de departements commencant par 9 : " , nb_9
    97  }
$

$ awk -f script4.awk depts2012.txt
Departement commancant par 0 ==> CP :  01053 DEPT :  AIN
Departement commancant par 0 ==> CP :  02408 DEPT :  AISNE
Departement commancant par 0 ==> CP :  03190 DEPT :  ALLIER
Departement commancant par 0 ==> CP :  04070 DEPT :  ALPES-DE-HAUTE-PROVENCE
Departement commancant par 0 ==> CP :  05061 DEPT :  HAUTES-ALPES
Departement commancant par 0 ==> CP :  06088 DEPT :  ALPES-MARITIMES
Departement commancant par 0 ==> CP :  07186 DEPT :  ARDECHE
Departement commancant par 0 ==> CP :  08105 DEPT :  ARDENNES
Departement commancant par 0 ==> CP :  09122 DEPT :  ARIEGE
Departement commancant par 1 ==> CP :  10387 DEPT :  AUBE
Departement commancant par 1 ==> CP :  11069 DEPT :  AUDE
Departement commancant par 1 ==> CP :  12202 DEPT :  AVEYRON
Departement commancant par 1 ==> CP :  13055 DEPT :  BOUCHES-DU-RHONE
Departement commancant par 1 ==> CP :  14118 DEPT :  CALVADOS
Departement commancant par 1 ==> CP :  15014 DEPT :  CANTAL
Departement commancant par 1 ==> CP :  16015 DEPT :  CHARENTE
Departement commancant par 1 ==> CP :  17300 DEPT :  CHARENTE-MARITIME
Departement commancant par 1 ==> CP :  18033 DEPT :  CHER
Departement commancant par 1 ==> CP :  19272 DEPT :  CORREZE
Departement commancant par 2 ==> CP :  2A004 DEPT :  CORSE-DU-SUD
Departement commancant par 2 ==> CP :  2B033 DEPT :  HAUTE-CORSE
Departement commancant par 2 ==> CP :  21231 DEPT :  COTE-D'OR
Departement commancant par 2 ==> CP :  22278 DEPT :  COTES-D'ARMOR
Departement commancant par 2 ==> CP :  23096 DEPT :  CREUSE
Departement commancant par 2 ==> CP :  24322 DEPT :  DORDOGNE
Departement commancant par 2 ==> CP :  25056 DEPT :  DOUBS
Departement commancant par 2 ==> CP :  26362 DEPT :  DROME
Departement commancant par 2 ==> CP :  27229 DEPT :  EURE
Departement commancant par 2 ==> CP :  28085 DEPT :  EURE-ET-LOIR
Departement commancant par 2 ==> CP :  29232 DEPT :  FINISTERE
Departement commancant par 3 ==> CP :  30189 DEPT :  GARD
Departement commancant par 3 ==> CP :  31555 DEPT :  HAUTE-GARONNE
Departement commancant par 3 ==> CP :  32013 DEPT :  GERS
Departement commancant par 3 ==> CP :  33063 DEPT :  GIRONDE
Departement commancant par 3 ==> CP :  34172 DEPT :  HERAULT
Departement commancant par 3 ==> CP :  35238 DEPT :  ILLE-ET-VILAINE
Departement commancant par 3 ==> CP :  36044 DEPT :  INDRE
Departement commancant par 3 ==> CP :  37261 DEPT :  INDRE-ET-LOIRE
Departement commancant par 3 ==> CP :  38185 DEPT :  ISERE
Departement commancant par 3 ==> CP :  39300 DEPT :  JURA
Departement commancant par 4 ==> CP :  40192 DEPT :  LANDES
Departement commancant par 4 ==> CP :  41018 DEPT :  LOIR-ET-CHER
Departement commancant par 4 ==> CP :  42218 DEPT :  LOIRE
Departement commancant par 4 ==> CP :  43157 DEPT :  HAUTE-LOIRE
Departement commancant par 4 ==> CP :  44109 DEPT :  LOIRE-ATLANTIQUE
Departement commancant par 4 ==> CP :  45234 DEPT :  LOIRET
Departement commancant par 4 ==> CP :  46042 DEPT :  LOT
Departement commancant par 4 ==> CP :  47001 DEPT :  LOT-ET-GARONNE
Departement commancant par 4 ==> CP :  48095 DEPT :  LOZERE
Departement commancant par 4 ==> CP :  49007 DEPT :  MAINE-ET-LOIRE
Departement commancant par 5 ==> CP :  50502 DEPT :  MANCHE
Departement commancant par 5 ==> CP :  51108 DEPT :  MARNE
Departement commancant par 5 ==> CP :  52121 DEPT :  HAUTE-MARNE
Departement commancant par 5 ==> CP :  53130 DEPT :  MAYENNE
Departement commancant par 5 ==> CP :  54395 DEPT :  MEURTHE-ET-MOSELLE
Departement commancant par 5 ==> CP :  55029 DEPT :  MEUSE
Departement commancant par 5 ==> CP :  56260 DEPT :  MORBIHAN
Departement commancant par 5 ==> CP :  57463 DEPT :  MOSELLE
Departement commancant par 5 ==> CP :  58194 DEPT :  NIEVRE
Departement commancant par 5 ==> CP :  59350 DEPT :  NORD
Departement commancant par 6 ==> CP :  60057 DEPT :  OISE
Departement commancant par 6 ==> CP :  61001 DEPT :  ORNE
Departement commancant par 6 ==> CP :  62041 DEPT :  PAS-DE-CALAIS
Departement commancant par 6 ==> CP :  63113 DEPT :  PUY-DE-DOME
Departement commancant par 6 ==> CP :  64445 DEPT :  PYRENEES-ATLANTIQUES
Departement commancant par 6 ==> CP :  65440 DEPT :  HAUTES-PYRENEES
Departement commancant par 6 ==> CP :  66136 DEPT :  PYRENEES-ORIENTALES
Departement commancant par 6 ==> CP :  67482 DEPT :  BAS-RHIN
Departement commancant par 6 ==> CP :  68066 DEPT :  HAUT-RHIN
Departement commancant par 6 ==> CP :  69123 DEPT :  RHONE
Departement commancant par 7 ==> CP :  70550 DEPT :  HAUTE-SAONE
Departement commancant par 7 ==> CP :  71270 DEPT :  SAONE-ET-LOIRE
Departement commancant par 7 ==> CP :  72181 DEPT :  SARTHE
Departement commancant par 7 ==> CP :  73065 DEPT :  SAVOIE
Departement commancant par 7 ==> CP :  74010 DEPT :  HAUTE-SAVOIE
Departement commancant par 7 ==> CP :  75056 DEPT :  PARIS
Departement commancant par 7 ==> CP :  76540 DEPT :  SEINE-MARITIME
Departement commancant par 7 ==> CP :  77288 DEPT :  SEINE-ET-MARNE
Departement commancant par 7 ==> CP :  78646 DEPT :  YVELINES
Departement commancant par 7 ==> CP :  79191 DEPT :  DEUX-SEVRES
Departement commancant par 8 ==> CP :  80021 DEPT :  SOMME
Departement commancant par 8 ==> CP :  81004 DEPT :  TARN
Departement commancant par 8 ==> CP :  82121 DEPT :  TARN-ET-GARONNE
Departement commancant par 8 ==> CP :  83137 DEPT :  VAR
Departement commancant par 8 ==> CP :  84007 DEPT :  VAUCLUSE
Departement commancant par 8 ==> CP :  85191 DEPT :  VENDEE
Departement commancant par 8 ==> CP :  86194 DEPT :  VIENNE
Departement commancant par 8 ==> CP :  87085 DEPT :  HAUTE-VIENNE
Departement commancant par 8 ==> CP :  88160 DEPT :  VOSGES
Departement commancant par 8 ==> CP :  89024 DEPT :  YONNE
Departement commancant par 9 ==> CP :  90010 DEPT :  TERRITOIRE
Departement commancant par 9 ==> CP :  91228 DEPT :  ESSONNE
Departement commancant par 9 ==> CP :  92050 DEPT :  HAUTS-DE-SEINE
Departement commancant par 9 ==> CP :  93008 DEPT :  SEINE-SAINT-DENIS
Departement commancant par 9 ==> CP :  94028 DEPT :  VAL-DE-MARNE
Departement commancant par 9 ==> CP :  95500 DEPT :  VAL-D'OISE
Departement commancant par 9 ==> CP :  97105 DEPT :  GUADELOUPE
Departement commancant par 9 ==> CP :  97209 DEPT :  MARTINIQUE
Departement commancant par 9 ==> CP :  97302 DEPT :  GUYANE
Departement commancant par 9 ==> CP :  97411 DEPT :  LA
Departement commancant par 9 ==> CP :  97608 DEPT :  MAYOTTE
Nombre total de lignes :  102
Nombre de departements commencant par 0 :  9
Nombre de departements commencant par 1 :  10
Nombre de departements commencant par 2 :  11
Nombre de departements commencant par 3 :  10
Nombre de departements commencant par 4 :  10
Nombre de departements commencant par 5 :  10
Nombre de departements commencant par 6 :  10
Nombre de departements commencant par 7 :  10
Nombre de departements commencant par 8 :  10
Nombre de departements commencant par 9 :  11
$

Etiquettes: