Posez votre question Signaler

Sed remplacer une ligne par une autre [Résolu]

snow_frog 176Messages postés 5 février 2009Date d'inscription 26 mars 2012Dernière intervention - Dernière réponse le 29 janv. 2010 à 18:21
Bonjour,
voilà mon problème: je souhaite remplacer une ligne dans un fichier html par une autre.
(un tableau dans une page html n'est pas totalement à jour, je souhaite "mettre à jour" ce tableau en remplissant les cases non renseignées.)
En scrollant un peu sur CCM, j'ai réussi à trouver un bon déut je pense. Mais il me manque la fin:
voici un extrait d'un fichier html:
l1	<TABLE>
l2	     <TD>to do</TD> <TD>to do</TD>
l3	     </TR><TR style='background: #d5d5d5'>
l4		<TD>10 / 15</TD> <TD>15 / 20</TD> 
l5	     </TR><TR style='background: #e5e5e5'>
l6        </TABLE>

j'aimerai pouvoir remplacer la ligne 2 (l2) par une autre ligne écrite dans un fichier
voici mon début de script:
#!/bin/bash

NIVO_A=8.5
NIVO_B=6.2

sed -n '2 p' niveau.html > tmp

echo "<TD>$NIVO_A</TD> <TD>$NIVO_B</TD>" > tmp1

là ou je bloque maintenant, c'est pour remplacer dans mon fichier niveau.html la ligne 2 par la ligne écrite dans tmp1.
Lire la suite 

Sed remplacer une ligne par une autre »

2 réponses
Réponse
+1
moins plus
Salut,

[rep]$ cat niveau.html
<TABLE>
 <TD>to do</TD> <TD>to do</TD>
 </TR><TR style='background: #d5d5d5'>
  <TD>10 / 15</TD> <TD>15 / 20</TD>
 </TR><TR style='background: #e5e5e5'>
</TABLE>

[rep]$ cat tmp1
<TD>8.5</TD> <TD>6.2</TD>

[rep]$ sed '2 s/.*/cat tmp1/e' niveau.html
<TABLE>
<TD>8.5</TD> <TD>6.2</TD>
 </TR><TR style='background: #d5d5d5'>
  <TD>10 / 15</TD> <TD>15 / 20</TD>
 </TR><TR style='background: #e5e5e5'>
</TABLE>

[rep]$

;-))
Ajouter un commentaire
Réponse
+0
moins plus
merci!!

même avec la doc de sed sous la main, j'ai toujours un peu de mal...
Ajouter un commentaire
Ce document intitulé « sed remplacer une ligne par une autre » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?