Використовуючи 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 і всі однакової довжини? Немає суміші верхнього та нижнього регістру? Якщо так, вони повинні сортувати правильно, коли їх інтерпретують як рядки. Може, ви можете показати нам деякі приклади даних?