Un méchant espace s'était ajouté à la fin de mon url. Evidemment totalement invisible cf les deux lignes ci-dessus produites par couper/coller
Reste maintenant à savoir pourquoi et comment cet espace est venu polluer mon url. Mais c'est une autre histoire
Merci aussi à Pascal qui m'a donné un moyen d'arrêter de tourner en rond
C'est une piste. D-autant que si j'utilise le fichier provurl1 :
pop
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
platsch
J'ai :
$ old=$(sed -n 2p provurl1)
$ echo $old
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
$ sed -n "/$old/=" provht1
1 # ca marche
Tandis que si j'utilise mon provurl1, j'ai :
$ old=$(sed -n 33p provurl1)
$ echo $old
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
$ sed -n "/$old/=" provht1
0 # ca ne marche pas
Et sur le terminal, je ne vois pas la différence entre les deux lignes :
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
On va voir avec od... demain. Là, je n'en peux plus : dodo !
C'est curieux parce que mon fichier provurl1 a été fabriqué par un script bash qui extrait les url à partir de href="http://etc". En principe, c'est de l'ASCII de base et pour toutes les url extraites, aucun problème sauf celle-là et même une partie de celle-là 'spip... etc' Une scorie se serait donc glissée dans cette partie lors de l'opération d'extraction ? Possible, mais inquiétant car c'est une centaine de pages que je voudrais vérifier
Si je reproduis dans un terminal la manoeuvre exactement comme tu le dis, effectivement ça marche, mais je ne vois pas la différence de fond avec mon script
Je me suis fait un fichier provht1 ne contenant que la ligne à chercher
En utilisant :
old=$(sed -n "$nlUM"p provurl1)
sed -n "/$old/=" provht1
Intéressant, non ? Le pb serait dans spip/article.php3?id_article=18. Je deviens fou ! Bon maintenant je fais :
$ old="http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18"
$ sed -n "/$old/=" provht1
1
et, bien sûr :
$ old="http:\/\/www.geographiques.com\/spip"
$ sed -n "/$old/=" provht1
1
$ old="http:\/\/www.geographiques.com\/ploutch"
$ sed -n "/$old/=" provht1
0
Le pb serait dans la façon dont on se procure $old ?
Par acquis de conscience, je me tape ça dans le terminal pour éliminer un problème lié à sh monscript.sh
$ cat provht1 http://www.geographiques.com/spip/article.php3?id_article=18
$ old=$(sed -n 33p provurl1) # ligne 33 celle de l'url
$ sed -n "/$old/=" provht1
0 # grrh !
$ old=$(sed -n 35p provurl1) # ligne 35 = http:\/\/www.geographiques.com\/
$ sed -n "/$old/=" provht1
1
M'enfin. Incroyable cette histoire. Ca doit être un truc hyper évident. Tellement que je ne le vois pas :-(
[^] # Re: Resolu
Posté par Christian Prior . En réponse au message Pb d'extraction d'une url. Évalué à 1.
Un méchant espace s'était ajouté à la fin de mon url. Evidemment totalement invisible cf les deux lignes ci-dessus produites par couper/coller
Reste maintenant à savoir pourquoi et comment cet espace est venu polluer mon url. Mais c'est une autre histoire
Merci aussi à Pascal qui m'a donné un moyen d'arrêter de tourner en rond
[^] # Re: Encodage ? Je vais voir
Posté par Christian Prior . En réponse au message Pb d'extraction d'une url. Évalué à 1.
pop
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
platsch
J'ai :
$ old=$(sed -n 2p provurl1)
$ echo $old
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
$ sed -n "/$old/=" provht1
1 # ca marche
Tandis que si j'utilise mon provurl1, j'ai :
$ old=$(sed -n 33p provurl1)
$ echo $old
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
$ sed -n "/$old/=" provht1
0 # ca ne marche pas
Et sur le terminal, je ne vois pas la différence entre les deux lignes :
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
On va voir avec od... demain. Là, je n'en peux plus : dodo !
C'est curieux parce que mon fichier provurl1 a été fabriqué par un script bash qui extrait les url à partir de href="http://etc". En principe, c'est de l'ASCII de base et pour toutes les url extraites, aucun problème sauf celle-là et même une partie de celle-là 'spip... etc' Une scorie se serait donc glissée dans cette partie lors de l'opération d'extraction ? Possible, mais inquiétant car c'est une centaine de pages que je voudrais vérifier
[^] # Re: Ca marche. NON mais ou donc est-ce que ca coince ?
Posté par Christian Prior . En réponse au message Pb d'extraction d'une url. Évalué à 1.
Je me suis fait un fichier provht1 ne contenant que la ligne à chercher
En utilisant :
old=$(sed -n "$nlUM"p provurl1)
sed -n "/$old/=" provht1
Je trouve :
old = http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18
provht1 = http://www.geographiques.com/spip/article.php3?id_article=18
nbtrouv = 0
Donc, chez moi, cela ne marche pas.
Mais en allant plus loin dans le fichier provurl1, je constate :
old = http:\/\/www.geographiques.com\/
provht1 = http://www.geographiques.com/spip/article.php3?id_article=18
nbtrouv = 1
Intéressant, non ? Le pb serait dans spip/article.php3?id_article=18. Je deviens fou ! Bon maintenant je fais :
$ old="http:\/\/www.geographiques.com\/spip\/article.php3?id_article=18"
$ sed -n "/$old/=" provht1
1
et, bien sûr :
$ old="http:\/\/www.geographiques.com\/spip"
$ sed -n "/$old/=" provht1
1
$ old="http:\/\/www.geographiques.com\/ploutch"
$ sed -n "/$old/=" provht1
0
Le pb serait dans la façon dont on se procure $old ?
Par acquis de conscience, je me tape ça dans le terminal pour éliminer un problème lié à sh monscript.sh
$ cat provht1
http://www.geographiques.com/spip/article.php3?id_article=18
$ old=$(sed -n 33p provurl1) # ligne 33 celle de l'url
$ sed -n "/$old/=" provht1
0 # grrh !
$ old=$(sed -n 35p provurl1) # ligne 35 = http:\/\/www.geographiques.com\/
$ sed -n "/$old/=" provht1
1
M'enfin. Incroyable cette histoire. Ca doit être un truc hyper évident. Tellement que je ne le vois pas :-(