Salut,

J'aimerais extraire une chaîne d'un fichier HTML. Problème : elle est entre deux balises <th> et </th> et je ne peux savoir à quelle ligne (cela peut en plus changer). J'avais donc pensé à identifier la ligne juste avant. Comme je n'ai rien pigé au sed multi-ligne, j'ai eu l'idée de transformer mon fichier HTML en un fichier mono-ligne avec tr -d '\r\n' et faire du sed classique ... Sauf que la variable $country contient tout le fichier HTML ... Pourtant j'ai bien utilisé le \(.*\) et \1

source.html

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
......
 
<td>Country</td>
<th>France</th>
 
.......
script.sh

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
tr -d '\r\n' < ./source.html > ./source_temp.html
country=$(sed 's|<td>Country</td><th>\(.*\)</th>|\1|' ./source_temp.html)
echo $country
Merci d'avance.