From 110bac4fe766296ecc87642739f1cab2aa33a980 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Tue, 1 Mar 2011 14:44:22 +0100 Subject: [PATCH] =?UTF-8?q?[AJOUT]=20Traitement=20des=20cha=C3=AEnes=20de?= =?UTF-8?q?=20chaque=20fichier=20du=20dossier=20categ=20:=20-=20les=20lign?= =?UTF-8?q?es=20de=20commentaires=20-=20les=20lignes=20de=20titre=20de=20c?= =?UTF-8?q?at=C3=A9gorie=20-=20les=20lignes=20d'=C3=A9l=C3=A9ments?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- categ/categ orie.txt | 4 ++++ parcours_categ.sh | 50 +++++++++++++++++++++++++++++++++++--------- 2 files changed, 44 insertions(+), 10 deletions(-) diff --git a/categ/categ orie.txt b/categ/categ orie.txt index e69de29..2c37aa9 100644 --- a/categ/categ orie.txt +++ b/categ/categ orie.txt @@ -0,0 +1,4 @@ +[[Categ]] +## commentaire +[[Categ2]] +element##autre diff --git a/parcours_categ.sh b/parcours_categ.sh index db92e72..026abd9 100755 --- a/parcours_categ.sh +++ b/parcours_categ.sh @@ -49,24 +49,54 @@ do if [[ $nbre_categories -eq 0 ]] then echo "Fichier '${dossier}/${fichier}' mal renseigné : Pas de nom de catégorie" - else + exit 0 + elif [[ $nbre_categories -gt 1 ]] + then echo "Fichier '${dossier}/${fichier}' mal renseigné : Trop de catégorie présentes." + exit 0 + else + echo "Fichier '${dossier}/${fichier}' correct : Catégorie présente." + fi # le fichier contient plusieurs lignes, on lit le contenu for ligne in $(cat ${dossier}/${fichier}) do - debug $ligne + debug "Contenu ligne : $ligne" # Vérifier les différents cas possibles : #+ SI la chaîne débute par '#' + #+ exemple : # quelque chose + diese_comp=`echo $ligne |sed -e 's@^\(#\).*$@\1@g'` + debug "Comparaison dièse : $diese_comp" + if [[ $diese_comp == "#" ]] + then + echo "La ligne est un commentaire : Aucune action." + continue + fi #+ SI la chaîne commence par '[[' et fini par ']]' + #+ exemple : [[Titre]]Description de ma catégorie + categ_comp=`echo $ligne |sed -e 's#^\(\[\[\).*\(\]\]\).*$#\1\2#g'` + debug "Comparaison '[[]]' : $categ_comp" + if [[ $categ_comp == "[[]]" ]] + then + echo "La ligne est une catégorie : Enregistrement." + titre_categ=`echo $ligne |sed -e 's#^\[\[\(.*\)\]\].*$#\1#g'` + desc_categ=`echo $ligne |sed -e 's#^\[\[.*\]\]\(.*\)$#\1#g'` + debug "$titre_categ : $desc_categ" + fi #+ SI la chaîne contient 6 fois '##' - - # CAS où la ligne contient des '##' : - #+ Solution temporaire, fonctionne moyennement -# nouv_ligne=`echo $ligne |tr "##" "\n"` -# while read element -# do -# echo $element -# done < $nouv_ligne + #+ exemple : Vous êtes perdus ?##http://perdu.com##Se rendre sur le site perdu.com####Mon image##Description de mon image + element_comp=`echo $ligne |sed -e 's@^.*\(##\).*\(##\).*\(##\).*\(##\).*\(##\).*$@\1\2\3\4\5@g'` + debug "Comparaison element : $element_comp" + if [[ $element_comp == "##########" ]] + then + echo "La ligne est un élément : Enregistrement." + element_titre=`echo $ligne |sed -e 's@^\(.*\)##.*##.*##.*##.*##.*$@\1@g'` + element_url=`echo $ligne |sed -e 's@^.*##\(.*\)##.*##.*##.*##.*$@\1@g'` + element_desc=`echo $ligne |sed -e 's@^.*##.*##\(.*\)##.*##.*##.*$@\1@g'` + element_img_addr=`echo $ligne |sed -e 's@^.*##.*##.*##\(.*\)##.*##.*$@\1@g'` + element_img_titre=`echo $ligne |sed -e 's@^.*##.*##.*##.*##\(.*\)##.*$@\1@g'` + element_img_desc=`echo $ligne |sed -e 's@^.*##.*##.*##.*##.*##\(.*\)$@\1@g'` + debug "Élément : titre=$element_titre, url=$element_url, desc=$element_desc, adresse_image=$element_img_addr, titre_image=$element_img_titre, desc_image=$element_img_desc" + fi done else # le fichier ne contient pas de ligne. message d'erreur