Substituer par des balises avec sed

Fermé
le_cheveulu - 26 janv. 2010 à 17:09
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 26 janv. 2010 à 17:33
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.

1 réponse

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567
26 janv. 2010 à 17:33
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