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:
which would save:
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:
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)
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)
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)
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)
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)
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)
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)
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
LEARN ABOUT DEBIAN
sort::key::register
Sort::Key::Register(3pm) User Contributed Perl Documentation Sort::Key::Register(3pm)NAME
Sort::Key::Register - tell Sort::Key how to sort new data types.
SYNOPSYS
use Sort::Key::Register Person =>
sub { $_->surname, $_->name },
qw(string string);
use Sort::Key::Register 'Color::Component' => 'integer';
use Sort::Key::Register Color =>
sub { $_->R, $_->G, $_->B },
('Color::Component') x 3;
DESCRIPTION
Sort::Key::Register allows one to register new data types with Sort::Key so that they can be sorted as natively supported ones.
It works as a pragma module and doesn't export any function, all its functionality is provided via "use":
use Sort::Key::Register ...
To avoid collisions between modules registering types with the same name, you should qualify them with the package name.
use Sort::Key::Register 'MyPkg::foo' => sub { $_ }, '-int';
# or using __PACKAGE__:
use Sort::Key::Register __PACKAGE__, sub { $_ }, '-int';
USAGE
use Sort::Key::Register $name => &multikeygen, @keytypes;
registers type $name.
&multikeygen is the multikey extraction function for the type and @keytypes are the types of the extracted keys.
use Sort::Key::Register $name => $keytype;
this 'use' is useful for simple types that are sorted as another type already registered, maybe changing the direction of the sort
(ascending or descending).
SEE ALSO
Sort::Key, Sort::Key::Maker.
AUTHOR
Salvador Fandin~o, <sfandino@yahoo.com>
COPYRIGHT AND LICENSE
Copyright (C) 2005 by Salvador Fandin~o
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.4 or,
at your option, any later version of Perl 5 you may have available.
perl v5.14.2 2012-06-30 Sort::Key::Register(3pm)