Trier une variable en shell

Bonjour,

Dites moi comment trier une variable et afficher par chaque elt par odre croissant dans un script shell

Ex: var="af jh n ko u kv ka" (les elt st séparés par des espaces

trier et afficher:

af
jh
ka
ko
kv
n
u

merci pr votre aide

5 réponses

  1. salut,

    avec 'tr', remplace les espaces par une nouvelle ligne, et envoie à 'sort'

    pense à regarder les pages 'info coreutils'.
    1. ne fonctionnent pas

      j'ai tout essayé

      l'affichage je vais m'en occuper
      il me faut var dans une nvlle variable trié avec un séparateur d"elt

      [wilson@wilsonHP mybin]$ var="sxd gdv xgt ahg sh po bs"
      [wilson@wilsonHP mybin]$ var2=$( sort -t" " <<<$var); echo $var2
      affichage=>sxd gdv xgt ahg sh po bs
      [wilson@wilsonHP mybin]$ echo $var | tr " " "\n" | sort -t" " <<<$var2
      affichage=>sxd gdv xgt ahg sh po bs
      [wilson@wilsonHP mybin]$

      ne fonctionne pas
      1. Contributeur
        hello
        $ var="af jh n ko u kv ka" 
        $ var2=$(tr " " "\n" <<<$var | sort)  
        $ echo $var2 
        af jh ka ko kv n u 
        $  
        $ echo "$var2" 
        af 
        jh 
        ka 
        ko 
        kv 
        n 
        u 
        $ 
        1. Contributeur
          Salut,

          $ echo "$var"
          af jh n ko u kv ka
          
          $ echo -e "${var// /\n}" | sort
          af
          jh
          ka
          ko
          kv
          n
          u
          
          $

          ;-))