Pb utilisation sed

Fermé
ohdisdonc - 8 févr. 2008 à 18:27
 ohdisdonc - 11 févr. 2008 à 12:33
Bonjour,
je voudrais substituer dans un fichier 'file' la chaine de caractères _REQUETE_ par une autre chaine: (&(|(code=C0213)(fonction=X))
mais je n'obtiens pas le résultat attendu en effectuant:

sed s/_REQUETE_/(&(|(code=C0213)(fonction=X))/g file

J'obtiens l'erreur suivante:

-bash: syntax error near unexpected token `('

Je sens bien qu'il y a un problème d'interprétation des caractères

Il y a-t-il une solution simple à ce problème ??
Merci

2 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
8 févr. 2008 à 18:35
Salut,

Déjà entoures ton expression par des 'quotes simples' et rajoutes un anti-slash devant l'esperluette (\&) sans quoi elle sera interprétée par "sed" comme méta-caractère :
sed 's/_REQUETE_/(\&(|(code=C0213)(fonction=X))/g' file
;-))
0
ok merci j'essaie
0