Bonjour,
J'ai le code bash :
qui vise à récupérer l'affiliation sur des pages web d'auteurs d'at ideas, telles que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part grep 'name="subaffil"' $fic |sed -e 's|^.*class="collapsed">||' |sed ':z;N;$!b z;s/\n/;/g' | sed -e 's|</a></h4></div></div>.*$||' -e 's|<BR>|, |g'
https://ideas.repec.org/e/pca127.html
Exécutée à grande échelle (44000 pages), la majorité des affiliations est bien repérée et enregistrée.
QUESTION 1 :
Cependant, je me suis aperçue que cela fonctionne bien lorsque j'ai une page où tout est sur la même ligne, comme :
Mais lorsque j'ai sur plusieurs lignes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part blabla <............name="subaffil">blablabla.....class="collapsed"> affiliation,univ,pays</a></h4></div></div>....blabla
il semble alors qu'il s'arrête à la fin de la première ligne et supprime tout le reste.. parce que le résultat est : affiliation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 blabla <............name="subaffil">blablabla....class="collapsed"> affiliation univ pays</a></h4></div></div>....blabla
mais pas univ, ni pays.
J'ai cherché comment modifier le code, mais je ne sais pas comment arranger ça. Je pense qu'il faudrait mettre une suppression des retours chariots avant de commencer à découper entre class="collapsed"> et </a></h4></div></div>, mais alors il ne pourra plus utiliser le repérage d'une ligne pour savoir quand découper, si ?
QUESTION 2 :
De plus, lorsque j'ai 1 ou 2 affiliations, ça fonctionne bien, mais lorsque j'ai 3 ou 4, ca ne fonctionne plus correctement : c'est limité aux 2 premières affiliations. Quelle est l'astuce pour aussi prendre en compte les 3, 4 voire 5eme affiliations ???
Merci de votre aide,
cordialement
Partager