• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Sorting variable's contents in bash

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    Sorting variable's contents in bash

    I have a variable in bash which is space separated values and I would like it to appear in alphabetic order.

    I can do it on separate lines thus:

    Code:
    str='Tich Dave Mick Dozy Beaky Dee'
    for i in `echo $str`; do
        echo $i
    done | sort
    which gives:

    Beaky
    Dave
    Dee
    Dozy
    Mick
    Tich

    but what I want is

    Beaky Dave Dee Dozy Mick Tich
    Behold the warranty -- the bold print giveth and the fine print taketh away.

    #2
    Already sorted (no pun intended):

    Code:
    str='Tich Dave Mick Dozy Chimp Beaky Dee'
    echo $str|tr " " "\n"|sort|tr "\n" " "
    echo
    Result:

    Beaky Chimp Dave Dee Dozy Mick Tich

    (no doubt Nick will be along with something more elegant/confusing, but this will do for now )
    Last edited by Sysman; 17 September 2010, 18:20.
    Behold the warranty -- the bold print giveth and the fine print taketh away.

    Comment

    Working...
    X