Використовуючи coreutils sort
, як я можу впорядкувати числове значення за шістнадцятковим значенням (полем)? Я чекав чогось за принципом
sort -k3,3x file_to_sort
однак такого x
не існує.
Редагувати: Найкраще рішення, до якого я придумав:
{ echo ibase=16; cut -d' ' -f3 file_to_sort; } |
bc | paste -d: - file_to_sort | sort -t: -k1,1n | cut -d: -f2-
де cut -d' ' -f3
ізолює поле пошуку (це -k3,3
- звичайно, це може відрізнятися) і bc
робить перетворення в десятковий (потрібен верхній регістр, без 0x
префікса, відповідний моєму випадку). Потім я приєднуюся, сортую та розділюю колони.
-k3,3
? У вас є шістнадцяткові нумери з 0x і всі однакової довжини? Немає суміші верхнього та нижнього регістру? Якщо так, вони повинні сортувати правильно, коли їх інтерпретують як рядки. Може, ви можете показати нам деякі приклади даних?