Sort command question


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Sort command question
# 1  
Old 11-05-2013
Sort command question

I have a question about what the sort command is doing.

Here is some sample data:

Code:
348201310013RVE         2
600201310013GFJ        70
3302013020101NS        40
600201309013GFJ        70

The sort command that is running is as follows:

Code:
sort -k 1,3 -k 12,4 input.txt > output.txt

I think it is sorting it by the first 3 bytes, and then column 12 for 4 bytes?? Is that correct? I'm a little confused on the syntax.

Thanks for all help.
# 2  
Old 11-05-2013
Columns 1 through 3, then columns 12 through 4. I'm not sure that command actually makes sense for the data as given.
# 3  
Old 11-05-2013
Are you saying that -k 4,12 would do the same thing? Would that make more sense?
# 4  
Old 11-05-2013
I'm saying that the data as given doesn't even have 12 columns, so I'm unsure what this statement's for.
# 5  
Old 11-05-2013
Ok. I think it is trying to sort byte 1 for 3 bytes, then byte 12 for 4 bytes. How would that statement work?
# 6  
Old 11-05-2013
The sort utility key field specifiers -k 1,3 and -k 12,4 are specifying ranges of fields (not output print columns). To sort on the 1st three characters (still not print columns) on the line as the primary sort key and the 12th through the 15th characters of the 1st field as the secondary sort key the way to specify it would be:
Code:
sort -k1.1,1.3 -k1.12,1.15 input.txt >output.txt

which would save:
Code:
3302013020101NS        40
348201310013RVE         2
600201309013GFJ        70
600201310013GFJ        70

in output.txt for the given sample input. Note that when all given sort keys give two or more lines the same sort order (as in the last two lines here), the tie is broken by using the entire line as a final increasing order alphanumeric sort key.

PS Note also that sort works on text, not binary data. It sorts characters; not bytes. If the file you're sorting is ASCII it might not matter; but if your text contains UTF-8 multibyte characters; it makes a big difference.

Last edited by Don Cragun; 11-05-2013 at 06:33 PM.. Reason: Note byte != character.
This User Gave Thanks to Don Cragun For This Post:
# 7  
Old 11-05-2013
Great. That makes a lot more sense to me now. Not sure what they were trying with the previous code.

Thanks for the help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Sort question

Have a text file containing 4 columns, the 4th column is sorted numerically in descending order. The 2nd column is alpha text. Been able to get the 4th column to sort in descending order. The 2nd column sorts correctly but it's also in reverse. Would like to be able to keep the 4th column sort... (8 Replies)
Discussion started by: jimmyf
8 Replies

2. UNIX for Dummies Questions & Answers

Sort command question

I have a file like this: /vol/eng_app_0103z /vol/eng_app_0103z /vol/eng_app_0120z /vol/eng_app_0126z /vol/eng_app_0144z /vol/eng_app_0150z /vol/eng_app_0154z /vol/eng_app_01551z /vol/eng_app_01552z /vol/eng_app_0155z /vol/eng_app_0164z /vol/eng_app_0199zWhen I use the sort command... (3 Replies)
Discussion started by: newbie2010
3 Replies

3. Shell Programming and Scripting

Sort question.

Hi Guys, I have a file to be sorted and uniq with the following format. S00001002|01|20021231 S00001002|01|20011031 S00001006|01|20120430 S00001006|01|20111231 S00001006|01|20111031 S00001006|01|20110831 S00001006|01|20110731 S00001006|01|20101231 S00001006|01|20091231... (5 Replies)
Discussion started by: nua7
5 Replies

4. UNIX for Dummies Questions & Answers

New to Unix command line and have a question about the "sort" command

I am going through the Unix Made Easy second edition book by John Muster. So far it's been very informative and I can tell it may be a bit out of date. In one of the exercises it talks about the "sort" command and using it to sort column's of data etc. The "sort" command has changed a bit and... (1 Reply)
Discussion started by: budfoxcat
1 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

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

7. Shell Programming and Scripting

sort question

Hi all. HPUX - posix shell - script question Here's my data: f1 f2 f3 f4 f5 f6 |02/12/09|12:33PM|3|Oceanview |OVT #1| VISA/MC |02/12/09|12:14PM|3|Oceanview |OVT #1| VISA/MC |02/12/09|09:13AM|4|Oceanview |OVT #1| VISA/MC ... (8 Replies)
Discussion started by: lyoncc
8 Replies

8. Shell Programming and Scripting

sort question

Hi all. Is there a way that I can use the sort command too sort the following field by earliest time (12:00AM) to latest time (11:59PM)? 07:12PM 07:53PM 07:54PM 08:07PM 10:15AM 10:21AM TIA!!!!!! (1 Reply)
Discussion started by: lyoncc
1 Replies

9. UNIX for Dummies Questions & Answers

SORT question

I'm looking for a sort command that will sort by zip code first then by last name. (zip code is the last field, last name is first field) data file looks like this. Hope Bob 1234 Main ST. Colorado Springs, CO 80920 I was thinking along the lines of: sort -k9n address.data //for the... (2 Replies)
Discussion started by: ssgatbliss
2 Replies

10. UNIX for Dummies Questions & Answers

Sort Question

M 47 HIS:LOT 32 DUTY 2 MIKE, FINISHED MIKE ACTIVE STATUS 23TASK YES GOOD 100TASK NO GOOD ======================================== M 47 HIS:LOT 1 DUTY 1 MIKE, FINISHED MIKE ACTIVE STATUS 23TASK YES GOOD ... (7 Replies)
Discussion started by: bobo
7 Replies
Login or Register to Ask a Question