Сортировка 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
.
-
Установите csvkit
если он еще не установлен.
brew install csvkit
-
Сортировать CSV по первому столбцу.
csvsort -c 1 original.csv > sorted.csv