How to sort the numbers with symbol like '%' and alphabets '5M' and '52G'?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to sort the numbers with symbol like '%' and alphabets '5M' and '52G'?
# 1  
Old 04-13-2012
How to sort the numbers with symbol like '%' and alphabets '5M' and '52G'?

Hi all ,

I have below input
124M 56M 63M 48% /opt/isv/microsoft

1.1G 133M 922M 13% /opt/isv/mqm

5.0G 2.5G 2.3G 52% /opt/isv/oracle

30G 0 30G 0% /opt/isv/db

my required output is ,

How to sort this numbers with 1st or 2nd or 3rd or 4th column?Here in my above input 4th column has numeric and symbol(%).How can we sort the data?
Please tell me the command.Thanks in advance.
# 2  
Old 04-13-2012
Code:
$  cat input
124M 56M 63M 48% /opt/isv/microsoft
1.1G 133M 922M 13% /opt/isv/mqm
5.0G 2.5G 2.3G 52% /opt/isv/oracle
30G 0 30G 0% /opt/isv/db
$ 
$ sort -nk4 input
30G 0 30G 0% /opt/isv/db
1.1G 133M 922M 13% /opt/isv/mqm
124M 56M 63M 48% /opt/isv/microsoft
5.0G 2.5G 2.3G 52% /opt/isv/oracle
$

This User Gave Thanks to balajesuri For This Post:
# 3  
Old 04-13-2012
I guess that your post is the output from df -h? You may find the output from df -Pk easier to work with for numeric sorts.
This User Gave Thanks to methyl For This Post:
# 4  
Old 04-13-2012
Hi.

Some recent versions of GNU/sort allow SI prefix sorts:
Code:
#!/usr/bin/env bash

# @(#) s1	Demonstrate sorting of "human-readable" numeric data.

pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C sort

FILE=${1-data1}#!/usr/bin/env bash

# @(#) s1	Demonstrate sorting of "human-readable" numeric data.

pe() { for _i;do printf "%s" "$_i";done; printf "\n"; }
pl() { pe;pe "-----" ;pe "$*"; }
db() { ( printf " db, ";for _i;do printf "%s" "$_i";done;printf "\n" ) >&2 ; }
db() { : ; }
C=$HOME/bin/context && [ -f $C ] && $C sort

FILE=${1-data1}
pl " Input file $FILE:"
cat $FILE

pl " Results of ordering of \"human-readable\" numeric data:"
sort -hk3,3 $FILE

exit 0

producing for a human-readable numeric sort on field 3:
Code:
% ./s1

Environment: LC_ALL = C, LANG = C
(Versions displayed with local utility "version")
OS, ker|rel, machine: Linux, 2.6.32-5-amd64, x86_64
Distribution        : Debian GNU/Linux 6.0 (squeeze) 
GNU bash 4.1.5
sort (GNU coreutils) 8.5

-----
 Input file data1:
30G 0 30G 0% /opt/isv/db
1.1G 133M 922M 13% /opt/isv/mqm
124M 56M 63M 48% /opt/isv/microsoft
5.0G 2.5G 2.3G 52% /opt/isv/oracle

-----
 Results of ordering of "human-readable" numeric data:
124M 56M 63M 48% /opt/isv/microsoft
1.1G 133M 922M 13% /opt/isv/mqm
5.0G 2.5G 2.3G 52% /opt/isv/oracle
30G 0 30G 0% /opt/isv/db

See man sort for details ... cheers, drl
This User Gave Thanks to drl For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sort strings containing numbers

How can I sort this, first by 2nd field then by 1st field. tried sort -b -k 2,2 Input: AS11 AB1 BD34 AB10 AF12 AC2 A345 AB10 R134 AB2 456 AC10 TTT2 BD12 desired output: AS11 AB1 R134 AB2 A345 AB10 BD34 AB10 AF12 AC2 456 AC10 TTT2 BD12 (2 Replies)
Discussion started by: aydj
2 Replies

2. Shell Programming and Scripting

Sort based on numbers

I have a file which has the following data :- how can I sort the data in descending order . My files may have the first column with 1 to 10000 numbers .I need to arrange them in descending order . Thanks (2 Replies)
Discussion started by: lazydev
2 Replies

3. Shell Programming and Scripting

how to sort numbers

I have files like this: 1 3 4 6 14 3 6 I want to extract the highest number. I have tried using cat filename | sort but then 9 would become higher than 14. So how do I sort? (1 Reply)
Discussion started by: locoroco
1 Replies

4. Shell Programming and Scripting

How to sort version numbers?

I would like to know how to sort version numbers, using bash or perl. I would like to sort file names that are program names with version numbers and extensions, such as hello-0.2.3.tar.gz and hello-0.10.3.tar.gz. Version numbers of computer programs do not comply with the mathematical rule... (3 Replies)
Discussion started by: LessNux
3 Replies

5. Shell Programming and Scripting

Is it Possible to sort a list of hexadecimal numbers using "sort" command?

Hello Everybody :) !!!. i have question in mind, is it possible to sort a list of hexadecimal numbers using "sort" command? (9 Replies)
Discussion started by: Kesavan
9 Replies

6. Shell Programming and Scripting

Sort numbers

Hello, okey so my script is using 4 variables that are either empty or numbers in the following format: NUMBER_1 NUMBER_2 NUMBER_3 NUMBER_4 So they're basically separated by a space and I need to echo the lowest number, so far I've been doing it like this: echo "2 3 1 3" | tr " "... (6 Replies)
Discussion started by: TehOne
6 Replies

7. UNIX for Dummies Questions & Answers

sorting numbers with sort -n

Looking for help for sort, I learned that for sorting numbers I use: sort -n but it seems that that is not enough when you have numbers like 0.2000E+7 for example, sort -n will not worry about the E+7 part, and will just sort the numbers like 0.2000. Exapmle: cat example.txt .91000E+07... (9 Replies)
Discussion started by: cosmologist
9 Replies

8. Shell Programming and Scripting

How to Sort Floating Numbers Using the Sort Command?

Hi to all. I'm trying to sort this with the Unix command sort. user1:12345678:3.5:2.5:8:1:2:3 user2:12345679:4.5:3.5:8:1:3:2 user3:12345687:5.5:2.5:6:1:3:2 user4:12345670:5.5:2.5:5:3:2:1 user5:12345671:2.5:5.5:7:2:3:1 I need to get this: user3:12345687:5.5:2.5:6:1:3:2... (7 Replies)
Discussion started by: daniel.gbaena
7 Replies

9. Shell Programming and Scripting

Sort by numbers, then alphabetically

Hey guys, I have a file that contains the following: 366 K 364 Q 12 UB 7 INC. P 4 Law 2 LAMB 2 High 1 QEG 1 OF 1 LC 1 B As you can see, it's already sorted by numerical order, how do I sort it again, breaking the ties by using the alphabetical order of the second column, but... (2 Replies)
Discussion started by: Andrew9191
2 Replies

10. Shell Programming and Scripting

How to sort a string with numbers

Hi, I need help to sort a file contents. I am using sort -r option to basically reverse the comparison in descending order. However, i found out that my file is not sorted according, can anyone please help. My data is something like:- Hello world 20.982342864 343 19.234355545 222... (5 Replies)
Discussion started by: ahjiefreak
5 Replies
Login or Register to Ask a Question