Remplacer du texte dans un fichier avec sed

Remplacer du texte dans un fichier avec sed - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 29-11-2006 à 16:03:34    

Bonjour,
Je lutte un avec sed. Je cherche à supprimer une certaine balise html (et ce qu'elle contient) d'un fichier. Je cherche donc à obtenir à partir de :


bla bla bla
<!-- TAG REMOVEME -->
     1 2 3 4 5 6 7 8 9 des trucs et tout
<!-- END TAG REMOVEME -->
bla bla

celà :


bla bla bla
bla bla

Quelqu'un pourrais me filer un coup de main ?
Actuellement j'essaye avec

sed -i -e 's/<!-- TAG REMOVEME -->.*<!-- END TAG REMOVEME -->//' monfichier.html

Mais ça ne marche pas


Message édité par kaiska le 29-11-2006 à 16:10:49
Reply

Marsh Posté le 29-11-2006 à 16:03:34   

Reply

Marsh Posté le 29-11-2006 à 18:44:35    

Parce que le .* n'est pas "multiligne" je pense, il ne match sans doute pas les \n (ou \r\n ou autre type de retour à la ligne)
 
Faut soit regarder dans le man de sed si on peut le rendre "multiligne", soit aplatir ton fichier, genre :
cat FICHIER | tr '\n' ' ' | sed -e 's/<!-- TAG REMOVEME -->.*<!-- END TAG REMOVEME -->/\n/'
 
Bref on remplace les \n par des espaces, on obtient une grande ligne qu'on sed. Pour revenir à la tronche du fichier d'origine ca me semble plus dur par contre (si tu veux conserver des espaces à la place du truc supprimé par exemple)
 
 :hello:


Message édité par Xavier_OM le 29-11-2006 à 18:44:56

---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Marsh Posté le 30-11-2006 à 16:03:53    

http://pegasus.rutgers.edu/~elflord/unix/sed.html


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed