• # un bout de AWK

    Posté par . En réponse au message Avent du Code, jour 6. Évalué à 4. Dernière modification le 06 décembre 2022 à 20:14.

    Finalement une solution en AWK, pas si moche quand on a pas de "set".

    BEGIN { W = 14 }
    {
     for (i=1; i<=length($1); i++) {
     window = substr($1,i,W)
     # compare each char of window to all char of window
     S = 0 # to count match
     for (j=1; j<=W; j++) {
     for (k=1; k<=W; k++) {
     S+= (substr(window,j,1) == substr(window,k,1)) ? 1 : 0
     }
     }
     if (S == W) { # if each char match only itsef
     print i + W - 1
     next # finish
     }
     }
    }