# (gH) -_- nblv1.awk ; TimeStamp (unix) : 17 Novembre 2012 vers 22:24 # nblv1.awk : nombre de lignes pour un seul fichier en principe (ou globalisation pour plusieurs) BEGIN { nc = 0 } # nc = nombre de champs = nombre de mots par ligne # ligne 1 du fichier, on initialise les variables : # nc est le nombre de mots en tout # pnc est le nombre minimal de mots par ligne (p=petit) # gnc est le nombre maximal de mots par ligne (g=grand) (FNR==1) { nc = NF ; pnc = NF ; gnc = NF } # après la première ligne, on cumule nc et on met à jour éventuellement pnc et gnc (FNR> 1) { nc += NF ; if (NFgnc) { gnc = NF } ; } # fin de ligne >1 # en fin de fichier, on affiche les résultats END{ if (pnc==gnc) { cc =" " } else { cc = "*" } if (FNR==0) { ncr = 0 } else { ncr = nc/FNR } # fin de si printf(" %-30s %5d ligne(s) NFmoyen %8.2f NFmin %4d NFmax %4d", FILENAME, FNR, ncr, pnc, gnc ) print(cc) # si * : toutes les lignes n'ont pas le meme nombre de champs } # fin de END