Как отсортировать строки CSV по определенному столбцу | Zhbert’s Home
Zhbert's Home
Домашняя страничка Zhbert'а

Как отсортировать строки CSV по определенному столбцу

Для сортировки строк в CSV файле можно воспользоваться привычной утилитой sort, входящей в состав любого дистрибутива Linux.

Для этого нужно указать два параметра:

  • -t — символ, по которому будут биться строки на столбцы;
  • -k – номер столбца, по которому сортировать.

Для примера возьмем CSV-файл со следующим содержимым:

$ cat test.csv
1997,Ford,E350,"ac, abs, moon",3000.00
1999,Chevy,"Venture ""Extended Edition""", ,4900.00
1996,Jeep,Grand Cherokee,"MUST SELL! air, moon roof, loaded",4799.00

И отсортируем его по второму столбцу, указав в качестве разделителя запятую:

$ sort -t ',' -k2 ./test.csv
1999,Chevy,"Venture ""Extended Edition""", ,4900.00
1997,Ford,E350,"ac, abs, moon",3000.00
1996,Jeep,Grand Cherokee,"MUST SELL! air, moon roof, loaded",4799.00

Строки отсортированы по наименованию производителей (второму столбцу).