[shell] Substitution dynamique de chaines
Fermé
pascal$$
Messages postés
39
Date d'inscription
dimanche 20 mai 2007
Statut
Membre
Dernière intervention
26 février 2009
-
3 janv. 2008 à 09:21
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 3 janv. 2008 à 09:30
jipicy Messages postés 40805 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 3 janv. 2008 à 09:30
A voir également:
- [shell] Substitution dynamique de chaines
- Tableau croisé dynamique - Guide
- Classic shell windows 10 - Télécharger - Personnalisation
- Recherche automatique des chaînes ne fonctionne pas - Forum TNT
- Le nom du champ de tableau croisé dynamique n'est pas valide ✓ - Forum Excel
- Comment décrypter les chaines cryptées sur eutelsat 16a ✓ - Forum Satellite
1 réponse
jipicy
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 901
3 janv. 2008 à 09:30
3 janv. 2008 à 09:30
Salut,
Tout est question de quotes !
Il faut simplement que tu encadres l'expression avec "sed" par des quotes doubles afin que les variables soient interprétées par le shell :
Tout est question de quotes !
Il faut simplement que tu encadres l'expression avec "sed" par des quotes doubles afin que les variables soient interprétées par le shell :
$ variable1=un;variable2=quatre $ echo 'un/deux/trois' | sed "s/$variable1/$variable2/" quatre/deux/troisou si tu veux conserver les quotes simples autour de l'expression, à ce moment là, il faut quoter de cette façon (beaucoup moins lisible):
$ echo 'un/deux/trois' | sed 's/'"$variable1"'/'"$variable2"'/' quatre/deux/troisautrement dit, refermer chaque quote simple avant la variable, elle même entourée de quotes doubles, et rouvrir la quote simple juste derrière et ainsi de suite...