Le 15/10/2014 15:35, Patrick Dupre a écrit :
> Bonjour,
>
> Lorsque je fais:
>
> system ("sed 's;^[\\]bibliography{.*;\\bibliography{references};' $file_name > $dir/$file_name") ;
>
>
> je n'ai pas la substitution:
> \bibliography{references}
> mais
> bibliography{references}
>
> J'ai essaye different trucs sans succes.
>
> Si je le fais la commande sed directement en shell ca marche.
>
> Merci.
>
> ===========================================================================
> Patrick DUPRÉ | | email: pdupre@???
> Laboratoire de Physico-Chimie de l'Atmosphère | |
> Université du Littoral-Côte d'Opale | |
> Tel. (33)-(0)3 28 23 76 12 | | Fax: 03 28 65 82 44
> 189A, avenue Maurice Schumann | | 59140 Dunkerque, France
> ===========================================================================
Bonjour,
Première chose que je remarque : tu as une accolade ouvrante après le
premier bibliography, sans accolade fermante. Ce n'est pas grave à cause
du .* juste après, mais était-ce volontaire ?
Deuxième chose : je ne comprends pas pourquoi tu mets entre crochets la
première paire d'antislashs ? Même si je ne suis pas un expert de sed,
pour moi, les crochets servent à dire "n'importe quel caractère parmi
ceux listés entre les crochets", et là, tu n'en mets qu'un, l'antislash
qu'il faut doubler pour qu'il soit reconnu comme tel. Alors, pourquoi ?
Ai-je raté une case, ou deux ?
Troisième chose : je suis d'accord avec la réponse que PK vient de te
faire pendant que j'écrivais ce mail-ci : pourquoi utiliser sed, ici,
alors que perl sait très bien faire ce genre de substitutions ? C'est
appeler à New York pour avoir le 22 à Asnières, non ?
Cdlt,
--
Marc TERRIER