J'utilise sed pour trouver et remplacer des modèles dans les fichiers SAS que j'ai plutôt que de les modifier individuellement. Le problème est que j'essaie de remplacer les variables de macro et que lorsque j'utilise l'esperluette, il ne fonctionne pas correctement.
Here's my code:
sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas
chaque fois que j'exécute cette commande, elle semble s'ajouter et faire toutes sortes de choses géniales avec le texte original.
Question: Comment remplacer du texte contenant des esperluettes par la commande sed?
&
est un caractère spécial, il doit donc être échappé lorsqu'il est utilisé dans le RHS - dans votre cas, vous devez exécuter's/user=&uid./user=\&sysuserid./g'
bien que je soupçonne que vous devez également échapper le point dans le LHS pour correspondre à un point littéral afin que vous en ayez réellement besoin's/user=&uid\./user=\&sysuserid./g'