#!/bin/bash
FICHIER="personnes.txt"
touch "$FICHIER"
option1(){
read -p "Nom : " nom
read -p "Prénom : " prenom
read -p "Ville : " ville
read -p "Téléphone : " tel
echo "$nom:$prenom:$ville:$tel" >> "$FICHIER"
echo "Personne ajoutée."
}
option2(){
if [ ! -s "$FICHIER" ]; then
echo "Aucune personne enregistrée."
else
echo "Liste des personnes :"
while IFS=: read -r nom prenom ville tel; do
echo "Nom: $nom, Prénom: $prenom, Ville: $ville, Téléphone: $tel"
done < "$FICHIER"
fi
}
option3(){
read -p "Nom : " nom_rech
read -p "Prénom : " prenom_rech
resultat=$(grep -i -E "^${nom_rech}:${prenom_rech}" "$FICHIER" 2>/dev/null)
if [ -z "$resultat" ]; then
echo "Aucun contact trouvé."
else
echo "Résultat(s) :"
while IFS=: read -r nom prenom ville tel; do
echo "$nom $prenom : $tel"
done <<< "$resultat"
fi
}
option4(){
read -p "Ville : " ville_rech
resultat=$(grep -i ":$ville_rech:" "$FICHIER" 2>/dev/null)
if [ -z "$resultat" ]; then
echo "Aucun contact trouvé pour cette ville."
else
echo "Contacts de $ville_rech :"
while IFS=: read -r nom prenom ville tel; do
echo "$nom $prenom : $tel"
done <<< "$resultat"
fi
}
option5(){
read -p "Nom : " nom_supp
read -p "Prénom : " prenom_supp
if grep -q -i "^${nom_supp}:${prenom_supp}:" "$FICHIER"; then
grep -v -i "^${nom_supp}:${prenom_supp}:" "$FICHIER" > "${FICHIER}.tmp"
mv "${FICHIER}.tmp" "$FICHIER"
echo "Personne supprimée."
else
echo "Personne non trouvée."
fi
}
menu(){
echo "Menu "
echo "1 Ajouter une personne"
echo "2 Afficher toutes les personnes"
echo "3 Rechercher un téléphone par nom/prénom"
echo "4 Rechercher les contacts d'une ville"
echo "5 Supprimer une personne"
echo "6 Quitter"
read -p "Choisissez une option : " choix
}
while true; do
menu
case $choix in
1)
option1;;
2)
option2;;
3)
option3;;
4)
option4;;
5)
option5;;
6)
echo "Au revoir !"
exit 0
;;
*)
echo "Option invalide. Veuillez réessayer."
;;
esac
echo ""
done