• 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

Sysman

System Manager
Thanks received
55
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
 
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: 19:18

Advertisers

Back
Top