Sed remplacer une ligne par une autre

Résolu
snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -  
snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   -
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.
Configuration: Windows XP Internet Explorer 7.0 / ubuntu 9.10

2 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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]$

    ;-))
    1
  2. snow_frog Messages postés 214 Date d'inscription   Statut Membre Dernière intervention   139
     
    merci!!

    même avec la doc de sed sous la main, j'ai toujours un peu de mal...
    0