Remplacer du texte dans un fichier avec sed - Codes et scripts - Linux et OS Alternatifs
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)
Marsh Posté le 30-11-2006 à 16:03:53
http://pegasus.rutgers.edu/~elflord/unix/sed.html
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