#1 Le 16/07/2016, à 14:21
- Swiss_Knight
☑ Sed sur une variable dans un script bash
Salut,
j'ai un bout de script qui ne fonctionne pas :
MAVARIABLE="coucou"
for i in $(seq 0.01 0.01 0.1);
do
j="$(sed 's/.//g' < $i)";
MAVARIABLE2=${MAVARIABLE}$j;
done
J'aimerai que MAVARIABLE2 prennent successivement les valeurs : "coucou001, coucou002,... jusqu'à coucou010.
(en gros j'aimerai virer le point de $i dans $j parce que MAVARIABLE2 va me servir de nom de dossiers. Et je ne veux pas de points là-dedans.
Merci.
Oops, my bad, je n'ai pas "échappé" le point x)
MAVARIABLE="coucou"
for i in $(seq 0.01 0.01 0.1);
do
j="$(echo $i | sed 's/\.//g')";
MAVARIABLE2=${MAVARIABLE}$j;
done
Dernière modification par Swiss_Knight (Le 16/07/2016, à 14:30)
xuniL
Hors ligne
#2 Le 16/07/2016, à 15:03
- credenhill
Re : ☑ Sed sur une variable dans un script bash
hello
sans sed
MAVARIABLE2=${MAVARIABLE}${i/\./};
pour voir des nombres précédés de 0
for i in {001..010}; ...
Dernière modification par credenhill (Le 16/07/2016, à 15:09)
En ligne
#3 Le 16/07/2016, à 16:05
- Swiss_Knight
Re : ☑ Sed sur une variable dans un script bash
Propre. Merci.
J'oublie toujours ces subtilités de bash
Pour le for, j'ai impérativement besoin de chiffres décimaux; le $i me sert dans des calculs. Et je voulais donner le nom de la précision du calcul au dossier pour m'y retrouver. Voilà. Merci.
xuniL
Hors ligne
#4 Le 16/07/2016, à 16:06
- pingouinux
Re : ☑ Sed sur une variable dans un script bash
Bonjour,
Ou même
for MAVARIABLE2 in coucou{001..010}; do echo $MAVARIABLE2; done
Hors ligne
#5 Le 16/07/2016, à 21:33
- Sciensous
Re : ☑ Sed sur une variable dans un script bash
en introduisant un echo $i , les points sont changés en ,
du coup dans sed il faut une , et ça roule.
essaye pour voir
antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )
Hors ligne