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/10/2008, à 14:08

Bashellor

Trier un tableau en bash

Bonjour

Sauriez-vous comment trier un tableau de n entiers ?
Je voudrais les trier dans l'ordre croissant, je ne trouve pas grand chose la dessus, dois-je creer ma fonction ?

#2 Le 18/10/2008, à 14:18

yleetiny

Re : Trier un tableau en bash

tu peux faire un truc avec "column" et/ou  "sort" va voir les manpages


Ordinateurs : SONY VAIO C2Z/B & EEEPC 701
Merci de mettre [RESOLU] dans vos postes si le problème est réglé,
et Merci de partager vos expériences

Hors ligne

#3 Le 18/10/2008, à 15:09

tiky

Re : Trier un tableau en bash

Il y a peut-être mieux, mais ce code fonctionne:

sort_table=$( echo ${table[*]} | sed -e 's/ /\n/g' | sort -n )

Conseil d'expert: il vous faut un dentifrice adapté...

Hors ligne

#4 Le 18/10/2008, à 15:54

Bashellor

Re : Trier un tableau en bash

Merci à vous :-)

#5 Le 23/02/2015, à 18:22

rquennec

Re : Trier un tableau en bash

tiky a écrit :

Il y a peut-être mieux, mais ce code fonctionne:

sort_table=$( echo ${table[*]} | sed -e 's/ /\n/g' | sort -n )

Méthode intéressante par contre, pour que la variable "sort_table" soit également un tableau, il ne faut pas oublier les parenthèses ouvrantes et fermantes lors de l'affectation des valeurs à la variable.

sort_table=($( echo ${table[*]} | sed -e 's/ /\n/g' | sort -n ))

Proxmox pve-manager/3.4-11/6502936f (running kernel: 2.6.32-40-pve)
Debian 7.9
Ubuntu 10.04.4 LTS / 12.04.5 LTS / 14.04.3 LTS
CentOS release 5.11 (Final)

Hors ligne

#6 Le 23/02/2015, à 20:06

pingouinux

Re : Trier un tableau en bash

On peut même simplifier

sort_table=( $(printf "%s\n" ${table[*]} | sort -n) )

Hors ligne