[BASH] gérer les doublons de login

marc -  
 marc -
Bonsoir,
Je vous expose mon problème de programmation bash.

J'ai un fichier login.tmp qui contient des logins d'utilisateurs.
Ces logins ont été définis avec les 5 premieres lettres du nom suivi des 3 premieres du prenom.
Or, il arrive que certains utilisateurs se retrouvent avec le même login.
Je souhaiterais faire en sorte que chaque doublon soit renommé avec comme derniere lettre un chiffre incrémenté suivant le nombre de doublons.

Exemple :
tototutu
tototutu
tototutu
popopepe
popopepe

donnerai avec ce script

tototutu
tototut1
tototut2
popopepe
popopep1

J'avoue ne pas savoir comment m'y prendre, je n'ai un très bon niveau en programmation bash.
Si quelqu'un pouvais m'aiguiller sur les commandes ou au mieux la démarche à suivre.

Merci d'avance de votre aide

marc

2 réponses

  1. eric
     
    Voilà, c'est pas trop joli, un peu "rough and dirty" mais ca doit marcher...

    #!/bin/bash
    unset PREV USER

    for USER in $( cat toto | sort )
    do
    if [[ $USER = $PREV ]]
    then
    export I=$(( I + 1 ))
    echo $( echo $USER | cut -b1-7 )$I
    else
    echo $USER
    export I=0
    fi
    export PREV=$USER
    done

    a+

    eric
    0
  2. marc
     
    merci bien eric ;-) j'ai réussi d'une autre façon, que je posterai d'ici peu
    0