Bonjour à tous,
Je vous explique un peu mon souci. Je dois envoyer par mail les identifiants de connexion à des parents pour ceux qui ont fourni un mail et par courrier pour les autres.
J’ai actuellement deux fichiers .csv car l’EN n’est pas tout à fait capable d’unifier ses bases de données.
L’un contient les identifiants, mot de passe, adresse, nom, prénom et UID.
L’autre contient les mails (ou vide), nom prénom et UID.
J’essaye d’unifier les deux avec la commande
join -a 1 -t $',' -11 -21 -o 1.3,1.4,1.5,1.6,1.7,1.8,1.9,1.11,1.12,2.2 export_parents.csv Exp_responsables.csv > resultats.csv
La première colonne de chaque fichier correspond à l’UID qui est unique contrairement aux noms. Les chiffres correspondent bien aux colonnes que je veux garder dans chaque fichier mais je n’ai que le premier mail qui apparaît car la commande s’interrompt à la première ligne qui n’est pas commune aux deux fichiers. Comment outrepasser ce problème?
Deuxième problème. Je voudrais séparer en deux fichiers différents les parents qui ont un mail pour le publipostage et ceux qui n’en ont pas pour imprimer les lettres et les envoyer. J’essaye avec un petit script bash :
#!/bin/bash
while read UID Civilite Nom Prenom E F G H I J K L M N O P Q Email
do
case $Email in
${#1} ) echo $UID $Email >>parents_connectes.csv ;;
*)
esac
done <Exp_responsables.csv
Ca me renvoie l’erreur suivante : ligne 3: UID : variable en lecture seule
Un problème dans le fichier j’imagine mais je sèche.
Merci d’avance.