31 lines
1.1 KiB
Bash
31 lines
1.1 KiB
Bash
#!/bin/bash
|
|
|
|
fichier=./Users.csv
|
|
|
|
fichier_a_ecrire=./logins.csv
|
|
#Suppression puis création du fichier
|
|
rm $fichier_a_ecrire 2> /dev/null #le 2> envoie en cas de message d'erreur, celui ci dans la poubelle
|
|
touch $fichier_a_ecrire
|
|
|
|
while read ligne #lis tous les lignes
|
|
do
|
|
|
|
aecrire=""
|
|
|
|
first_name=$(echo $ligne | cut -d "," -f1) #récupération du prénom dans Users.csv
|
|
|
|
last_name=$(echo $ligne | cut -d "," -f2) #récupération du nom de famille dans Users.csv
|
|
|
|
group=$(echo $ligne | cut -d "," -f5) #récupération du groupe dans Users.csv
|
|
|
|
login=$(echo $first_name | cut -c1)$last_name #prendre la 1ere lettre du prénom suivi du nom de famille complet
|
|
login=$(echo $login | tr [:upper:] [:lower:]) #mettre tout en minuscule
|
|
login=$(echo $login | tr -dc [:alnum:]) #retrait de tout caractère spéciaux pouvant poser problème
|
|
|
|
passwd=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 8;echo) #genere mdp de 8 caractère aléatoire
|
|
|
|
aecrire="$login,$passwd,$first_name,$last_name,$group" #contenu dans l'ordre du fichier finale
|
|
|
|
echo $aecrire >> $fichier_a_ecrire
|
|
|
|
done < $fichier |