Как отсортировать несколько столбцов из файла CSV - PullRequest
1 голос
/ 02 ноября 2019

У меня есть файл в следующем формате. Мне нужно сначала отсортировать его по наибольшему коду, а затем по столбцу самых больших значений.

 colour,letter,code,value
    red,r,016,949.8
    red,r,015,603.9
    red,r,014,348.4
    blue,b,016,362.29
    blue,b,015,460.2
    blue,b,014,9850.9

output:
    red,r,016,949.8
    blue,b,016,362.29
    red,r,015,603.9
    blue,b,015,460.2
    blue,b,014,9850.9
    red,r,014,348.4

моя реализация

sort  -k3,3n -r  -k4,4n -t \t data.csv  

Когда я пытаюсь это сделать, он сортирует файл, но неотсортировать первые два столбца.

1 Ответ

2 голосов
/ 02 ноября 2019

Непонятно, является ли файл TSV (через табуляцию) или CSV (через запятую). В вопросе указывайте CSV, но отвечайте, используя разделитель табуляции (-t \t). Попробуйте -t, для CSV. Также обратный порядок должен применяться к каждому ключу (суффикс 'r' на каждом ключе).

sort -k3,3nr -k4,4nr -t, data.csv
...