Сортировка CSV файла на основе первого столбца

Есть ли способ отсортировать файл csv на основе 1-го столбца, используя некоторую команду оболочки?

У меня есть этот огромный файл с более чем 150k строк, поэтому я могу сделать это в excel:( есть ли альтернативный способ?

Ответ 1

sort -k1 -n -t, filename должен сделать трюк.

-k1 сортируется по столбцу 1.

-n сортируется численно вместо лексикографического (так что "11" не будет раньше "2,3..." ).

-t, устанавливает разделитель (разделяет значения в вашем файле) на ,, так как ваш файл разделяется запятой.

Ответ 2

Я не знаю, почему выше решение не работало в моем случае.

15,5
17,2
18,6
19,4
8,25
8,90
9,47
9,49
10,67
10,90
13,96
159,9

однако эта команда решила мою проблему.

sort -t "," -k1n, 1 fileName

Ответ 3

Использование csvsort.

  1. Установите csvkit если он еще не установлен.

    brew install csvkit
    
  2. Сортировать CSV по первому столбцу.

    csvsort -c 1 original.csv > sorted.csv