Merci pour les commentaires.
Voici des explications.
J'ai fait se .pl en urgence
===========================================================================
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
===========================================================================
> Sent: Wednesday, October 15, 2014 at 4:02 PM
> From: "Marc TERRIER" <marc.terrier@???>
> To: "Patrick Dupre" <pdupre@???>
> Cc: "La Guilde" <guilde@???>
> Subject: Re: sed dans perl
>
> 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 ?
Oui, car je n'avais juger utile de verifier qu'il y avait une accolade fermante.
> 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 ?
La raison est simple: lorsque j'ai essaye
system ("sed 's;^\\bibliography{.*;\\\\bibliography{references};' $file_name > $dir/$file_name") ;
Cela ne marchait pas, donc j'ai trouve une autre solution!
Peut-etre
system ("sed 's;^\\\\bibliography{.*;\\\\bibliography{references};' $file_name > $dir/$file_name") ;
est OK?
> 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 ?
OK,
Mais je savais comment faire avec sed mais pas en perl.
Comment je peux editer directement en perl?
Et encore Merci.
> Cdlt,
>
> --
> Marc TERRIER
>