Je vais m’auto répondre, j’ai trouver la solution.
[code]#!/bin/sh
echo $port_num
echo -n "Entrez le nom d’utilisateur PostgreSQL : "
read UserPG
case $UserPG in
"") echo "Pas d’utilisateur PostgreSQL définit\n"
exit 1;; #exit shell script
* ) echo "Bienvenu $UserPG\n";;
esac
echo -n "Mot de passe : "
read PGpassword
case $PGpassword in
"") echo "Pas de mot de passe PostgreSQL définit\n"
exit 1;; #exit shell script
*) echo “Votre mot de passe à bien été pris en compte\n”;;
esac
echo -n "Ip ou non du serveur PostgreSQL? "
read PGhostname
case $PGhostname in
"") echo "Pas d’hôte PostgreSQL définit\n"
exit 1 ;; #exit shell script
*) echo “L’hôte ou l’IP PostgreSQL est $PGhostname\n”;;
esac
echo -n "Port du serveur PostgreSQL? "
read port_num
case $port_num in
"") port_num=5432
echo “Le port par défaut $port_num sera utilisé\n”;;
*) echo "Le port par défaut $port_num sera utilisé\n";;
esac
echo -n "Nom de la base de donnée pour LorainNG? "
read lorrainng_db
case $lorrainng_db in
"" ) echo "Pas de base de donnée PostgreSQL définit\n"
exit 1;; #exit shell script
*) echo “L’hôte ou l’IP PostgreSQL est $PGhostname\n”;;
esac
touch $HOME/.pgpass
chmod 0600 $HOME/.pgpass
echo “$PGhostname:$port_num:$lorrainng_db:$UserPG:$PGpassword” > $HOME/.pgpass
csv_DirectoryLocation=$(pwd)
echo -n "Le fichier CSV se trouve-t-il dans le répertoire suivant? \n $csv_DirectoryLocation : [Oui] ou [Non]"
read answer
case $answer in
Oui|OUI|oui|O|o ) csv_location=$csv_DirectoryLocation/asso_tiers_groupe.csv
echo “Le fichier se trouve dans: $csv_location”;;
Non|NON|non|N|n ) echo -n "Dans quel répertoire se trouve le fichier asso_tiers_regie.csv?\n"
read csv_EntryLocation
csv_location=$csv_EntryLocation/asso_tiers_groupe.csv
echo “Le fichier se trouve donc bien dans: $csv_location\n”;;
*) “Au revoir…\n”;;
esac
for ligne in cat $csv_location
do
echo $ligne
code_tiers_csv=echo $ligne | awk -F";" '{ print $1 }'
echo "code_tiers_csv = $code_tiers_csv"
libelle_groupe_csv=echo $ligne | awk -F";" '{ print $2 }'
echo “libelle_groupe_csv = $libelle_groupe_csv”
psql -h $PGhostname -p $port_num $lorrainng_db -U $UserPG << EOF
INSERT into lorrainng_role.rasso_grp_tiers (id_groupe, numbenef, idg_regie)
SELECT group_tiers.id, tiers.numbenef, tiers.idg_regie
FROM lorrainng_role.rhabitue AS tiers, lorrainng_role.rgroupe_tiers AS group_tiers
WHERE tiers.numbenef IN (SELECT numbenef FROM lorrainng_role.rhabitue WHERE code_tiers = ‘$code_tiers_csv’ AND numbenef_ref=‘0’)
AND tiers.idg_regie IN (SELECT idg_regie FROM lorrainng_role.rhabitue WHERE code_tiers = ‘$code_tiers_csv’)
AND group_tiers.id IN (SELECT id FROM lorrainng_role.rgroupe_tiers WHERE libelle = ‘$libelle_groupe_csv’ AND idg_regie IN (SELECT idg_regie FROM lorrainng_role.rhabitue WHERE code_tiers = ‘$code_tiers_csv’ AND numbenef_ref=‘0’));
EOF
done
PGpassword=""
rm $HOME/.pgpass
[/code]
Cordialement