Trier une variable en shell

Mozer8888 Messages postés 84 Statut Membre -  
Mozer8888 Messages postés 84 Statut Membre -
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. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    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
  2. Utilisateur anonyme
     
    salut,

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

    pense à regarder les pages 'info coreutils'.
    0
  3. Mozer8888 Messages postés 84 Statut Membre 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
    0
  4. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

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

    ;-))
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mozer8888 Messages postés 84 Statut Membre 1
     
    Merci.
    0