Substituer par des balises avec sed

Bonjour,

J'essaye de créer un script pour transformer des papiers écrits en Latex dans le format html. Autrement dit j'aimerai que dans un texte d'origine où il y a des formules rédigées sous la forme

$formule$

celles-ci soient transformées en :

<balise 1>formule </balise2>

J'ai fait des manips avec sed qui ne fonctionnent bien que quand la formule est en début de ligne, mais me donne n'importe quoi quand la formule est au milieu d'un texte.

Quelqu'un aurait-il une idée?

Merci pour votre aide.
Configuration: Linux
Firefox 3.5.7

1 réponse

  1. Modérateur
    Salut,

    Et la formule contient quoi?
    $ cat formule 
    $formule$  au début
    au milieu $formule$ au milieu
    à la fin $formule$ 
    
    $formule$ $formule$  au début
    au milieu $formule$  $formule$ au milieu
    à la fin $formule$ $formule$ 
    $ sed 's/\$\([^$]\+\)\$/<balise1>\1<\/balise2>/g' formule 
    <balise1>formule</balise2>  au début
    au milieu <balise1>formule</balise2> au milieu
    à la fin <balise1>formule</balise2> 
    
    <balise1>formule</balise2> <balise1>formule</balise2>  au début
    au milieu <balise1>formule</balise2>  <balise1>formule</balise2> au milieu
    à la fin <balise1>formule</balise2> <balise1>formule</balise2> 

    0