[BASH] gérer les doublons de login

Fermé
marc - 4 févr. 2005 à 18:55
 marc - 5 févr. 2005 à 20:45
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

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
merci bien eric ;-) j'ai réussi d'une autre façon, que je posterai d'ici peu
0