Utiliser un argument dans une commande sed
Résolu
calimerette
-
calimerette -
calimerette -
Bonjour,
Je souhaite utiliser un argument dans une commande sed et, après avoir essayé plusieurs solutions, bein ça ne marche pas. Aussi, si quelqu'un a une idée pour m'aider, ça serait sympa !
Voilà la commande sed que j'ai tapé, sachant que l'argument $2 correspond à un chiffre passé en paramètre du script :
sed -i.bak "s/intermediate-1/inter1\-\$2/g" {} \;
Le résultat est le suivant : DBT/inter1-$2-836A90/1/1
Merci d'avance pour votre aide !
Je souhaite utiliser un argument dans une commande sed et, après avoir essayé plusieurs solutions, bein ça ne marche pas. Aussi, si quelqu'un a une idée pour m'aider, ça serait sympa !
Voilà la commande sed que j'ai tapé, sachant que l'argument $2 correspond à un chiffre passé en paramètre du script :
sed -i.bak "s/intermediate-1/inter1\-\$2/g" {} \;
Le résultat est le suivant : DBT/inter1-$2-836A90/1/1
Merci d'avance pour votre aide !
2 réponses
-
Salut,
A quoi correspond l'expression "inter1\-\$2" ?
Les anti-slashs doivent-ils se retrouver dans le résultat final ou sont-ils là pour protéger les caractères qu'ils précèdent ?
En gros à quoi ressemble l'expression à remplacer et à quoi doit-elle ressembler au final ?
-
Bonjour,
En général, quand je commence à devoir utiliser des variables dans des regexp, j'arrête le shell et je passe à Perl (appel d'un oneliner ou codage complet du script, selon les cas). Question de préservation de ma santé mentale :)