#1 Le 01/07/2021, à 14:25
- weezixx
[Résolu] Une variable dans une variable (inception de variable)
Bonjour,
En gros, je prend une valeur que je stock dans une variable, ensuite je veux prendre cette variable et faire un 'sed' dessus pour stocker le résultat dans une autre variable.
Mais évidemment je n'y arrive pas ^^
Comment faire ?
D'avance merci
#!/bin/bash
curl https://www.info-coronavirus.be/en/colour-codes-by-country/ | html2text > page.txt
numero=$(sed -n '/Portugal/=' page.txt);
valeur=$(sed -n '85p' page.txt);
echo valeur:
echo $valeur;
echo slash :
echo "$valeur" | sed 's/.* //';
echo vacance:
vacance=$("$valeur" | sed 's/.* //')
echo vacance :
echo $vacance
echo fin
Dernière modification par weezixx (Le 01/07/2021, à 16:17)
Hors ligne
#2 Le 01/07/2021, à 14:58
- Watael
Re : [Résolu] Une variable dans une variable (inception de variable)
"inception"
salut,
en fait, il ne s'agit pas d'une variable dans une variable, mais de transmettre le contenu d'une variable à une commande par un pipe,
c'est-à-dire, afficher une variable (ça, tu sais le faire) pour que le pipe en transmette le contenu à une commande.
le pire, c'est exactement ce que tu fais deux lignes plus tôt.
pourquoi est-ce que ça changerait ?!
NOTE que utiliser sed sur une variable pour une aussi simple substitution est contre-productif.
bash dispose de Remplacement de paramètres... cf. le man
Dernière modification par Watael (Le 01/07/2021, à 16:49)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 01/07/2021, à 15:00
- Amiralgaby
Re : [Résolu] Une variable dans une variable (inception de variable)
vacance=$("$valeur" | sed 's/.* //')
en
vacance=$(echo "$valeur" | sed 's/.* //')
comme cela ?
Vive la communauté du Libre !!!
Hors ligne
#4 Le 01/07/2021, à 15:09
- pingouinux
Re : [Résolu] Une variable dans une variable (inception de variable)
Bonjour,
Que veux-tu récupérer dans vacance. Actuellement, même avec la correction d'Amiralgaby, tu ne récupères que le / final de valeur.
Hors ligne
#5 Le 01/07/2021, à 16:17
- weezixx
Re : [Résolu] Une variable dans une variable (inception de variable)
Bash c'est vraiment particulier ^^
Merci
PS : pour info c'est un bête script qui me permet de scraper le site des pays en zone rouge, je cherche le Portugal et si la valeur n'est plus "/" ben c'est que ça risque d'être en zone rouge.
Il me fallait une idée pour m'améliorer donc bon ...
Prenez soin de vous
Hors ligne
#6 Le 01/07/2021, à 16:36
- pingouinux
Re : [Résolu] Une variable dans une variable (inception de variable)
Ceci donne la même chose :
vacance=$(sed -n '/Portugal/s/.* //p' page.txt)
Hors ligne
#7 Le 01/07/2021, à 21:41
- nicobzz
Re : [Résolu] Une variable dans une variable (inception de variable)
Bash c'est vraiment particulier ^^
Merci
PS : pour info c'est un bête script qui me permet de scraper le site des pays en zone rouge, je cherche le Portugal et si la valeur n'est plus "/" ben c'est que ça risque d'être en zone rouge.
Il me fallait une idée pour m'améliorer donc bon ...
Prenez soin de vous
ptit commentaire qui sert à rien de ma part: oui on est d'accord, j'ai mis beaucoup de temps avant de maitriser bash, on fini par comprendre ses principes mais c'est pas évident!
Il doit y avoir des tuto programmation en bash sur internet j'imagine.
Hors ligne