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 18/06/2019, à 12: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, à 03: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, à 12: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, à 13:11)

Hors ligne

#3 Le 18/06/2019, à 18:20

cristobal78

Re : [Résolu] affichage du contenu d'une variable en liste verticale

merci pingouinux
j'ai adopté la cde "sed"  smile


Laptop Lenovo Ubuntu 20.04 LTS / DELL Mint 20.2 - XFCE / Laptop HP Mint 20.2 - XFCE

Hors ligne

#4 Le 18/06/2019, à 19: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