Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/07/2021, à 15: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, à 17:17)

Hors ligne

#2 Le 01/07/2021, à 15:58

Watael

Re : [Résolu] Une variable dans une variable (inception de variable)

"inception" lol


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 ?! smile

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, à 17:49)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 01/07/2021, à 16: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, à 16: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, à 17: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 wink

Hors ligne

#6 Le 01/07/2021, à 17: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, à 22:41

nicobzz

Re : [Résolu] Une variable dans une variable (inception de variable)

weezixx a écrit :

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 wink

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