Bonsoir,

Pourriez-vous m'aider à résoudre le pb suivant ?

J'ai un fichier ini contenant une liste d'urls. Au démarrage du script, Je balaie le fichier et créé
un tableau contenant toutes les url. Pour afficher ou consulter les urls à jour, il suffit de parcourir le tableau.

Pour désactiver provisoirement une url, j'ajoute ";". Il faut donc ne traiter que les lignes commençant par "http".
Deux solutions :
(a) filtrer lors de la lecture du fichier ini.
(b) importer toutesles lignes puis filtrer lors du parcours du tableau.

(a)
voici comment j'importe toutes les lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
i=1
#=============================================
# Analyse le nombre de lignes du fichier ini
#=============================================
b=`cat "/EPG/$file" | wc -l`
nbligne=$(($b+1))
echo ______________________________
echo "fichier.ini contient $nbligne lignes."
echo
 
#=============================================
# Balayage du fichier ini ligne par ligne
# et construction du tableau
#=============================================
while test $i -le $nbligne
do
urld[i]=`cat "/EPG/$file" | head -n $i `
echo $i
echo ${urld[i]}
i=`expr $i + 1`    
done
exit
Si je remplace :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 urld[i]=`cat "/EPG/$file" | head -n $i `
par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
urld[i]=`cat "/EPG/$file" | head -n $i | grep ^http  `
Le filtre sed ne marche pas correctement. Retour de x fois l'url filtrée au lieu d'une :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
http://www.monsilte1/index.php
http://www.monsilte/index.php
http://www.monsilte/index.php
http://www.monsilte/index.php
(b)
Je n'arrive pas à trouver la syntaxe permettant d'interroger l'une des "cases" du tableau (commande grep ?).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
if ${urld[i]} grep ^http ...
Pourriez-vous m'aider à faire aboutir l'une ou l'autre des solutions ?

D'avance merci .

PS : des contraintes m'obligent à passer par un script bash, sinon j'aurai utilisé Perl