Sponsored Content
Top Forums Shell Programming and Scripting Is it Possible to sort a list of hexadecimal numbers using "sort" command? Post 302548935 by alister on Friday 19th of August 2011 09:51:51 PM
Old 08-19-2011
Code:
awk '{printf("%050s\t%s\n", toupper($0), $0)}' hex-data | LC_COLLATE=C sort -k1,1 | cut -f2

If you take a look at the C/POSIX collation sequence, you'll see that the sequences A-F and a-f both sort after 0-9 in the POSIX/C locale. So long as the hex numbers do not mix case and are of the same length, the string collation sequence is congruent to a hex digits sequence.

LC_COLLATE Category in the POSIX Locale

If you have a list of hex numbers, you can decorate them with a column of zero-padded, case-folded numbers, sort on that column, then output the original numbers.

Code:
$ cat hex-data
3e80
3EF8
460
$ awk '{printf("%050s\t%s\n", toupper($0), $0)}' hex-data | LC_COLLATE=C sort -k1,1 | cut -f2
460
3e80
3EF8

Regards,
Alister
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

i don't understand the "sort" command

i have been trying to understand this chapter titled "Searching for Files and Text" for a few weeks now. unfortunately, this chapter is one of those things, that no matter how hard you try and how long you try for, you are incapable of understanding (at least in my case) this entire chapter,... (2 Replies)
Discussion started by: xyyz
2 Replies

2. UNIX for Dummies Questions & Answers

Problems with "sort" command

It seems our administrators had installed the version of the "sort" command not having the -M option. Does anyone have the source code for this routine? I need to be able to sort on month comparison: e.g. "sudo at -l | sort -k3M,5" (1 Reply)
Discussion started by: superdelic
1 Replies

3. Solaris

"mail" command sort by date

Hello experts, I am using SunFire T200. When I start reading the mail with "mail" command it comes older mail first. From MAILER-DAEMON Sat Mar 28 06:02:48 2009 Return-Path: <MAILER-DAEMON@emarn1> Received: from localhost (localhost) .... .... I want to see the most recent mail... (1 Reply)
Discussion started by: thepurple
1 Replies

4. 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

5. Shell Programming and Scripting

Meaning of "b" modifier in "sort" command

I need to sort the following file by the rhdiskpower devices in the last column: Total_MB Free_MB OS_MB Name Failgroup Library Label UDID Product Redund Path 1024 851 1024 OCRVOT1_0000 OCRVOT1_0000 System UNKNOWN ... (3 Replies)
Discussion started by: wjssj
3 Replies

6. Shell Programming and Scripting

sort, columns, no result! can I print files of "planes"?

hi, please can I ask you for some help? I have data from 3D situation, x y z value I'd like to use gnuplot to generate maps of the value in the planes z=0 to z=1 for example, my file looks like -0,012 0,0060 0,0 0,13972813076023477 -0,012 0,0064319163 4,2894483E-4 ... (1 Reply)
Discussion started by: kocour
1 Replies

7. 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

8. UNIX for Dummies Questions & Answers

Sorting files ending in numbers with "sort"

I have a group of files that I need to be sorted by number. I have tried to use the sort command without any luck. ls includes* includes1 includes10 includes11 includes12 includes2 includes3 includes4 includes5 includes6 includes7 includes8 includes9 I have tried ls includes*... (6 Replies)
Discussion started by: newbie2010
6 Replies

9. UNIX for Beginners Questions & Answers

Extract delta records using with "comm" and "sort" commands combination

Hi All, I have 2 pipe delimited files viz., file_old and file_new. I'm trying to compare these 2 files, and extract all the different rows between them into a new_file. comm -3 < sort file_old < sort file_new > new_file I am getting the below error: -ksh: sort: cannot open But if I do... (7 Replies)
Discussion started by: njny
7 Replies

10. UNIX for Beginners Questions & Answers

Gawk: PROCINFO["sorted_in"] does not sort my numerical array values

Hi, PROCINFO seems to be a great function but I don't manage to make it works. input: B,A,C B B,B As an example, just want to count the occurence of each letter across the input and sort them by decreased order. Wanted output: B 4 A 1 C 1 When I use this command, the PROCINFO... (4 Replies)
Discussion started by: beca123456
4 Replies
CREATE 
COLLATION(7) PostgreSQL 9.2.7 Documentation CREATE COLLATION(7) NAME
CREATE_COLLATION - define a new collation SYNOPSIS
CREATE COLLATION name ( [ LOCALE = locale, ] [ LC_COLLATE = lc_collate, ] [ LC_CTYPE = lc_ctype ] ) CREATE COLLATION name FROM existing_collation DESCRIPTION
CREATE COLLATION defines a new collation using the specified operating system locale settings, or by copying an existing collation. To be able to create a collation, you must have CREATE privilege on the destination schema. PARAMETERS
name The name of the collation. The collation name can be schema-qualified. If it is not, the collation is defined in the current schema. The collation name must be unique within that schema. (The system catalogs can contain collations with the same name for other encodings, but these are ignored if the database encoding does not match.) locale This is a shortcut for setting LC_COLLATE and LC_CTYPE at once. If you specify this, you cannot specify either of those parameters. lc_collate Use the specified operating system locale for the LC_COLLATE locale category. The locale must be applicable to the current database encoding. (See CREATE DATABASE (CREATE_DATABASE(7)) for the precise rules.) lc_ctype Use the specified operating system locale for the LC_CTYPE locale category. The locale must be applicable to the current database encoding. (See CREATE DATABASE (CREATE_DATABASE(7)) for the precise rules.) existing_collation The name of an existing collation to copy. The new collation will have the same properties as the existing one, but it will be an independent object. NOTES
Use DROP COLLATION to remove user-defined collations. See Section 22.2, "Collation Support", in the documentation for more information about collation support in PostgreSQL. EXAMPLES
To create a collation from the operating system locale fr_FR.utf8 (assuming the current database encoding is UTF8): CREATE COLLATION french (LOCALE = 'fr_FR.utf8'); To create a collation from an existing collation: CREATE COLLATION german FROM "de_DE"; This can be convenient to be able to use operating-system-independent collation names in applications. COMPATIBILITY
There is a CREATE COLLATION statement in the SQL standard, but it is limited to copying an existing collation. The syntax to create a new collation is a PostgreSQL extension. SEE ALSO
ALTER COLLATION (ALTER_COLLATION(7)), DROP COLLATION (DROP_COLLATION(7)) PostgreSQL 9.2.7 2014-02-17 CREATE COLLATION(7)
All times are GMT -4. The time now is 04:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy