sort
Wie kann ich mit coreutils numerisch nach einem Hexadezimalwert (Feld) sortieren? Ich hatte etwas in der Art von erwartet
sort -k3,3x file_to_sort
einen solchen x
gibt es jedoch nicht.
Edit: Die beste Lösung, die ich bisher gefunden habe, ist:
{ echo ibase=16; cut -d' ' -f3 file_to_sort; } |
bc | paste -d: - file_to_sort | sort -t: -k1,1n | cut -d: -f2-
Wo das cut -d' ' -f3
Suchfeld isoliert (das ist -k3,3
- das kann natürlich variieren) und bc
in Dezimalzahlen konvertiert wird (erfordert hexadezimale Großbuchstaben ohne 0x
Präfix, die mit meiner Groß- / Kleinschreibung übereinstimmen). Dann füge ich Spalten zusammen, sortiere und teile sie.
-k3,3
? Sie haben Hex-Nuber, die mit 0x anstarren und alle die gleiche Länge haben? Keine Mischung aus Groß- / Kleinschreibung? Wenn ja, sollten sie richtig sortieren, wenn sie als Zeichenfolgen interpretiert werden. Vielleicht können Sie uns einige Beispieldaten zeigen?