Bonjour,

Je fais actuellement à mon travail des tâches de Scripting et je fais face à quelques petit problèmes.

- 1) Quand on extrait une chaine avec un séparateur comme ici : FS= »| », peut-on extraire une sous-chaine de notre champ grâce à un autre séparateur. ?

Car les chaines que j’extrais contiennent des accents et comme cela me pose problème j’aimerais pouvoir extraire la première partie de ma chaine qui a une largeur variable mais qui se finit toujours par un "-" .

Exemple :
Le champ extrait grâce à mon séparateur "|" me donne :

Toto xcvb ezs – allée des tâches à Créteil 
Titi – fait du vélo
Tata 23pr – Remonté des données
Et j’aimerais pouvoir en extraire une sous-chaîne à longueur variable :

Toto xcvb ezs
Titi
Tata 23pr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
for t in $Groupe4
do
cat /tmp/${FIC_TXT} | awk -v var=$t ' BEGIN{FS="|";} { if(var == $1) {NB_TRAIT ++;
                                                        if("Normal" == $10){NB_NORMAL ++;}
                                                        if("Avertissement" == $10){NB_WARNING ++;}
                                                        if("Erreur" == $10){NB_ERREUR ++;}
                                                        if("En cours"== $11){NB_ENCOURS ++;}
                                                 }}
                                           END {printf("<tr><td>%s</td><td> </td><td> </td><td> </td><td>%d</td><td>%d</td><td>%d</td><td>%d</td><td>%s</td><td></td>
<td></td><td></td><td></td></tr>",var,NB_TRAIT,NB_NORMAL,NB_WARNING,NB_ERREUR,NB_ENCOURS)}'  >> ${LOCAL_DIR}/${FIC_HTML}
done
- 2) Quand on effectue le printf y a-t-il une manière de ne pas écrire les variables valant "0" ou peut-on les remplacer par des champs vides ?


par avance merci pour toutes vos suggestions