#26 Le 05/02/2021, à 20:31
- philoeil

Re : [RESOLU] Quel caractère de séparation est le plus pertinent
Bonjour,
Merci Hizoka,
et sauf incompréhension de ma part non la réponse en #10 testée ne marchait pas alors que celle en #25 fonctionne
Je n'est pas bien compris ce que signifie le doublement // dans les parties
//|/\\|Pouvez-vous confirmer que j'ai bien compris par contre la conclusion :
il est préférable d'utiliser la commande
sed -i "s|^${TitreParam//|/\\|}.*|${TitreParam//|/\\|}$TmpVarParam|" "$CheminProjet"plutôt que la commande
sed -i "s|^$TitreParam.*|$TitreParam$TmpVarParam|" "$CheminProjet"car dans la première même si | est contenu dans les variables il ne perturbera pas le traitement de substitution traité par sed
correct ?
Bonne soirée
Hors ligne
#27 Le 05/02/2021, à 21:04
- Watael

Re : [RESOLU] Quel caractère de séparation est le plus pertinent
le // signifie "remplacer tout".
quand il n'y a qu'un /, seule la première occurrence est remplacée.
cf. man bash Remplacement de paramètres
Welcome to sHell. · eval is evil.
Hors ligne
#28 Le 05/02/2021, à 23:06
- Hizoka

Re : [RESOLU] Quel caractère de séparation est le plus pertinent
en 10, je te donnais la même commande mais en utilisant @ et non |.
a="oui|non"
b="non|oui"
sed "s|${a//|/\\|}|${b//|/\\|}|" <<< "a|b|oui|non|c|d"
# a|b|non|oui|c|d
sed "s|$a|$b|" <<< "a|b|oui|non|c|d"
# sed: -e expression n°1, caractère 11: option inconnue pour « s »une fois les variables développées : sed "s|oui|non|non|oui|" => sed ne pige plus rien.
Dans les faits, il est peut probable que | soit utilisé mais en faisant ainsi, plus de risque.
Kubuntu 20.04 64bits
GUI d'extraction de piste de fichier mkv -- Vignettes personnalisées -- Select boosté aux hormones -- Générateur de barre de progression
Hors ligne
#29 Le 06/02/2021, à 16:14
- philoeil

Re : [RESOLU] Quel caractère de séparation est le plus pertinent
Bonjour,
Merci Watael super info j'ignorais tout des développement imbriqués, j'ai de quoi lire et travailler pour un moment
Merci Hizoka j'ai compris mon erreur dans le test du post # 10
effectivement cela marche
Et merci beaucoup pour ton exemple parfait, limpide, j'ai adoré:)
Hors ligne