sort data


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting sort data
# 1  
Old 09-15-2005
Power sort data

Hi!
I'm trying to sort a file.dat with the sort command. The data contained by file.dat is similar to the data set below:

100.000
99.000
110.000

55.000
113.000
33.000

25.000
9.000
15.000

It is relatively easy to sort the data in ascending or descending order, but the problem is that the separating empty rows between the blocks are put on top of the sorted file. I wish to keep the empty rows and sort the data blocks separately, like this:

99.000
100.000
110.000

33.000
55.000
113.000

9.000
15.000
25.000

Can anybody please help me?
And also I must mention that I'm quite new at UNIX scripting, so try to explain in plain English Smilie!


bjorb
# 2  
Old 09-15-2005
Got gawk?
Code:
gawk 'BEGIN{RS=""}{n=split($0,a);asort(a);for(i=0;i<=n;i++) print a[i] }' file.dat

# 3  
Old 09-15-2005
Code:
ruby -00ne'puts split("\n").sort_by{|x|x.to_f};puts' file


Last edited by futurelet; 09-15-2005 at 03:23 AM.. Reason: a bit shorter
# 4  
Old 09-15-2005
I'm too lazy

Hehe!
First of all I want to give my appreciation for a quick answer.

Without knowing what the heck that code from Ygor meant I tested it in my script. It seemed to work partially in my case, but as a result of my own lazyness it did not give me the result I need.

The data set is really in this format:

100.000 23.000 150.000
99.000 83.000 369.000
110.000 15.000 123.000

55.000 105.000 69.000
113.000 7.000 78.000
33.000 89.000 63.000

25.000 23.000 23.000
9.000 63.000 81.000
15.000 38.000 23.000


The columns represent x-, y- and z-coordinates.
I wish to sort the columns with x- and y-coordinates in ascending order.
Data is also supposed to be written back to data.dat
I apologize for any inconvenience and humbly ask you to help me again.

It is also in my interest to understand the prospective code which is given.
Where can I get a good tutorial on gawk?

Regards
bjorb
# 5  
Old 09-15-2005
Quote:
Originally Posted by bjorb
The data set is really in this format:

100.000 23.000 150.000
99.000 83.000 369.000
110.000 15.000 123.000

55.000 105.000 69.000
113.000 7.000 78.000
33.000 89.000 63.000

25.000 23.000 23.000
9.000 63.000 81.000
15.000 38.000 23.000


The columns represent x-, y- and z-coordinates.
I wish to sort the columns with x- and y-coordinates in ascending order.
You mean change

Code:
100.000   23.000    150.000
99.000    83.000    369.000
110.000   15.000    123.000

to this?

Code:
99.000    15.000    159.000
100.000   23.000    369.000
110.000   83.000    123.000

# 6  
Old 09-15-2005
simplified needs

After reviewing my needs I have realized that it would be sufficient to sort the data only considering the column with the y-coordinates:

From
100.000 23.000 150.000
99.000 83.000 369.000
110.000 15.000 123.000

to
110.000 15.000 123.000
100.000 23.000 150.000
99.000 83.000 369.000

How can I do this?

Regards

bjorb

Last edited by bjorb; 09-15-2005 at 09:04 AM.. Reason: Forgot to actually ask for help...
# 7  
Old 09-15-2005
Code:
ruby -00ne'puts split("\n").sort_by{|x|x[/\s\S+/].to_f};puts' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need to sort out data

Hello All, I have one file with multiple lines records like as below.. I need to extract only BFG and corresponding BSG record/line. for evry BFG there is one BSG record is there as mentioned in BOLD and so on... BFG BR 00001 20140724 000 000 ? ? BLG UVR QPR 01 380 ? ? 999 0 0 0 ? BLC... (2 Replies)
Discussion started by: Riverstone
2 Replies

2. Shell Programming and Scripting

Sort data As per first Column

hI I have file A NSU30504 5 6 G 6 NSU3050B T 7 9 J NSU30506 T I 8 9 NSU3050C H J K L Output: NSU3050B T 7 9 J NSU3050C H J K L NSU30504 5 6 G 6 NSU30506 T I 8 9Video tutorial on how to use code tags in The UNIX and Linux Forums. (13 Replies)
Discussion started by: pareshkp
13 Replies

3. UNIX for Dummies Questions & Answers

sort data

Hi, I need to filter the output of a command and display certain data only. How can i do this ? My file contain: $ cat abc.txt <testcase title="AAA_100"> <testcase title="BBB_200"> <testcase title="CCC_300"> <testcase title="DDD"> ... (3 Replies)
Discussion started by: crazydude80
3 Replies

4. Shell Programming and Scripting

Sort Data by Group !

Hello, I have a file and i want to sort by third column and extract the three top lines of each group, it is determined by the second column (144, 89, 55, etc). Could you please help me with the appropiate awk shell script XLY-XLP 144 0.592772 XLY-XLE 144 0.798121 ... (3 Replies)
Discussion started by: csierra
3 Replies

5. Shell Programming and Scripting

Help needed to sort data

Hello All, Today i have been asking lots of question, hope to become good in scripting soon with all the wonderful advices i get. The question is i want to sort data a get uniq string from it. The code i am using to generate the output is:- check_sun() { for i in $SUN_PLATFORM do $ECHO... (0 Replies)
Discussion started by: asirohi
0 Replies

6. Shell Programming and Scripting

Trying to sort data

Im trying to sort all this data. I need to get a list out of the data (websites) and just list them out can anyone point me in the right direction. Im working with dans guardian. 2009.6.10 6:26:50 - 192.168.42.200... (5 Replies)
Discussion started by: darknirvana
5 Replies

7. UNIX for Advanced & Expert Users

sort out the required data

Hi All, I have a file 1.txt which has the duplicate dns entries as shown: Name: 000f9fbc6738.net.in|Addresses: 10.241.66.169, 10.84.2.222,212.241.66.170 Name: 001371e8ed3e.net.in|Addresses: 10.241.65.153, 10.84.1.101 Name: 00e06f5bd42a.net.in|Addresses: 10.72.19.218,... (6 Replies)
Discussion started by: imas
6 Replies

8. Shell Programming and Scripting

Sort complex data

Hi, Can someone here help sorting the following data in numeric order? INPUT: FIRST abc(3) def(13) fgh(1) ijk(6) abc(2) SECOND dfe(10) abc(4) hij(19) tlm(1) hij(1) hub(10) abc(1) fed(3) OTHERS hij(10) mok(4) bub(19) hij(1) abc(2) abc(15) abc(1) hij(3) OUTPUT: FIRST def(13) ijk(6)... (12 Replies)
Discussion started by: need_help
12 Replies

9. Shell Programming and Scripting

sort data in different columns

Hello all: i have list with the following format Id Name Iid Value 0x4440001 customerCode 44077 0x11d2a PrimaryAddress 57.217.41.201 0x129fa ... (15 Replies)
Discussion started by: mogabr
15 Replies

10. Shell Programming and Scripting

Script to sort data

Hi All, I have a .csv file with 3 columns called nLats, nLongs, and fRes. in following format : "nLats","nLongs","fRes" 0,0,-1 0,1,-1 0,2,-1 0,3,-1 0,4,-1 ......... ......... 0,143,-1 nLats increments at nLongs=143 1,0, -1 1,1, -1 .......... .......... 1,143,-1... (1 Reply)
Discussion started by: wizardy_maximus
1 Replies
Login or Register to Ask a Question