#1 Le 18/06/2019, à 11:39
- cristobal78
[Résolu] affichage du contenu d'une variable en liste verticale
Bonjour amis du forum
Une question simple :
Soit une variable VAR dont le contenu est "a b c d e f" :
[$~]> VAR="a b cd efg h"
[$~]> echo $VAR
a b cd efg h
[$~]>
Quelle commande_inconnue faut il appliquer à VAR pour que
[$~]> commande_inconnue $VAR
me donne :
a
b
cd
efg
h
f
autrement dit afficher les différent éléments du contenu de VAR en pile verticale au lieu d'en liste horizontale.
Dernière modification par cristobal78 (Le 23/02/2022, à 02:02)
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#2 Le 18/06/2019, à 11:56
- pingouinux
Re : [Résolu] affichage du contenu d'une variable en liste verticale
Bonjour,
$ VAR="a b cd efg h"
$ printf "%s\n" $VAR
a
b
cd
efg
h
Ajouté :
Ou bien
$ sed 's/ /\n/g' <<<$VAR
a
b
cd
efg
h
$ awk '{gsub(" ","\n");print}' <<<$VAR
a
b
cd
efg
h
$ for i in $VAR;do echo $i; done
a
b
cd
efg
h
Dernière modification par pingouinux (Le 18/06/2019, à 12:11)
Hors ligne
#3 Le 18/06/2019, à 17:20
- cristobal78
Re : [Résolu] affichage du contenu d'une variable en liste verticale
merci pingouinux
j'ai adopté la cde "sed"
Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE
Hors ligne
#4 Le 18/06/2019, à 18:53
- Watael
Re : [Résolu] affichage du contenu d'une variable en liste verticale
pfff
$ VAR="a b cd efg h"
$ echo ${VAR// $'\n'}"
a
b
cd
efg
h
mais, pourquoi ne pas utiliser un tableau/liste ?
$ array=( a b c 'd e f' g h )
$ printf '%s\n' "${array[@]}"
a
b
c
d e f
g
h
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne