#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
Connected \o/
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.
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
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