Pages : 1
#1 Le 18/02/2020, à 20:25
- Christophe C
Une variable dans SED
Bonjour, J'ai un bout de code : sed -e 's/.*/&!^Par_defaut/'
C'est pour créer en fin d'une ligne un champs dans une liste déroulante yad dont le séparateur est !
Marche très bien
Dans le cadre d'une système de trad, j'aurais besoin que "Par_defaut" soit remplacé par une variable, mais à priori, entre deux simple quote, la variable ne s’exécute pas. Elle est interprétée comme une chaine de caractère.
sed -e 's/.*/&!^$TOTO/' insère donc la chaine "$TOTO" à la fin de ma ligne, et non son contenu.
Si quelqu'un peut m'aider....
Dernière modification par Christophe C (Le 18/02/2020, à 20:26)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#2 Le 18/02/2020, à 20:37
- kamaris
Re : Une variable dans SED
Deux solutions :
- utiliser des guillemets doubles pour tout le programme sed :
"s/.*/&!^$TOTO/"
mais il faut alors faire attention à ce que le shell n'interprète pas trop de caractères entre les guillemets doubles (comme ici le point d'exclamation, qui pourrait conduire à une recherche dans l'historique des commandes) ;
- fermer les guillemets simples, concaténer avec la variable placée entre guillemets doubles, puis réouvrir les guillemets simples :
's/.*/&!^'"$TOTO"'/'
moins lisible, mais peut-être plus sécurisé.
Hors ligne
#3 Le 18/02/2020, à 20:52
- Watael
Re : Une variable dans SED
"plus sécurisé", en effet.
surtout si, par exemple, tu veux exprimer une fin de ligne ($).
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#4 Le 18/02/2020, à 21:26
- kamaris
Re : Une variable dans SED
Oui voilà, et s'il y a beaucoup de caractères à échapper comme ça, notamment des antislash, la première solution peut vite devenir moins lisible que la seconde, finalement.
Hors ligne
#5 Le 19/02/2020, à 09:01
- Christophe C
Re : Une variable dans SED
Ok, j'aurais du y penser, j'utilise déjà un système comme cela (le 2e) dans une autre commande.
Merci
Dernière modification par Christophe C (Le 19/02/2020, à 09:01)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
Pages : 1