On 17/11/2020 00:20, Chris Dunlop wrote:
Hi,
It would be useful to have 'sort' be able to sort by hexidecimal number.
This has been asked a few times.
Previously I noted on the list that:
-g supports hex, though has overhead in float conversion.
For example `sort -k2,2g` would sort on the second key if hex.
Note if the numbers are fixed width, or can be prepended
with 0 to a fixed width, and are of consistent case,
then you can use simple textual comparison to do the sort.
I'll apply the attached to make this clear in the info docs.
cheers,
Pádraig
From c3a5280731ee096cb156d87eaa38c1d887490380 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A1draig=20Brady?= <P@draigBrady.com>
Date: Wed, 18 Nov 2020 14:00:43 +0000
Subject: [PATCH] doc: mention that sort -g supports hex numbers
* doc/coreutils.texi (sort invocation): Mention explicitly
that --general-numeric-sort supports arbitrary format hex numbers,
but also mention that consistent case/width hex numbers can
be sorted faster with a standard sort.
---
doc/coreutils.texi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index 99f6d9fb8..5ac3745bd 100644
--- a/doc/coreutils.texi
+++ b/doc/coreutils.texi
@@ -4397,6 +4397,12 @@ Use this option only if there is no alternative; it is
much slower than
@option{--numeric-sort} (@option{-n}) and it can lose information when
converting to floating point.
+You can use this option to sort hexadecimal numbers prefixed with
+@samp{0x} or @samp{0X}, where those numbers are not fixed width,
+or of varying case. However for hex numbers of consistent case,
+and left padded with @samp{0} to a consistent width, a standard
+lexicographic sort will be faster.
+
@item -h
@itemx --human-numeric-sort
@itemx --sort=human-numeric
--
2.26.2