Pages : 1
#1 Le 18/10/2008, à 13: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, à 13: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, à 14: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, à 14:54
- Bashellor
Re : Trier un tableau en bash
Merci à vous :-)
#5 Le 23/02/2015, à 17:22
- rquennec
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 )
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, à 19:06
- pingouinux
Re : Trier un tableau en bash
On peut même simplifier
sort_table=( $(printf "%s\n" ${table[*]} | sort -n) )
Hors ligne
Pages : 1