comment concaténer des tableaux dans bash?
Je suis un nouveau bash
de l'apprenant. J'ai un tableau dans bash
la prise d'entrée de l'entrée standard. Je dois concaténer elle-même deux fois. Dire que j'ai les éléments suivants dans le tableau:
Namibia
Nauru
Nepal
Netherlands
NewZealand
Nicaragua
Niger
Nigeria
NorthKorea
Norway
Maintenant, La sortie devrait être:
Namibia Nauru Nepal Netherlands NewZealand Nicaragua Niger Nigeria NorthKorea Norway Namibia Nauru Nepal Netherlands NewZealand Nicaragua Niger Nigeria NorthKorea Norway
Mon code est:
countries=()
while read -r country; do
countries+=( "$country" )
done
countries=countries+countries+countries # this is the wrong way, i want to know the right way to do it
echo "${countries[@]}"
Noter que, je peux l'imprimer trois fois comme le code ci-dessous, mais ce n'est pas ma devise. Je dois concaténer dans le tableau.
countries=()
while read -r country; do
countries+=( "$country" )
done
echo "${countries[@]} ${countries[@]} ${countries[@]}"
source d'informationauteur Enamul Hassan
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, la lecture de votre liste dans un tableau, une entrée par ligne:
...ou, avec les anciennes versions de bash:
Deuxième, de dupliquer les entrées, soit élargir l'éventail de lui-même à trois reprises:
...ou utiliser la syntaxe moderne pour effectuer un ajout:
Simplement écrire ceci:
La première ligne est de prendre une entrée de tableau, deuxième à concaténer et le dernier pour imprimer le tableau.
sur ubuntu 14.04, voici les éléments réunis trois éléments (un élément compter donnerait :3), chaque élément d'un tableau
countries
:tandis que le dessous serait concaténer tous les éléments dans un tableau unique:
comte de la ce serait de 30 (prise en compte du pays spécifié dans le post original).