Re: sed dans perl

Top Page

Reply to this message
Author: Marc TERRIER
Date:  
To: Patrick Dupre
CC: La 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 ?

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