Как я могу проанализировать файлы CSV на командной строке Linux? [закрытый]

Новые языки и управляемый код не делают плохого программиста лучше.

35
задан Jonathan Leffler 11 September 2018 в 16:50
поделиться

5 ответов

Мой редактор потоков FOSS CSV CSVfix делает именно то, что вы хотите. Есть двоичный установщик для Windows и компилируемая версия (через make-файл) для UNIX / Linux.

20
ответ дан 27 November 2019 в 06:56
поделиться

Моей интуитивной реакцией было бы написать оболочку сценария вокруг модуля csv Python (если такого еще нет).

2
ответ дан 27 November 2019 в 06:56
поделиться

Звучит как работа для awk.

Скорее всего, вам потребуется написать собственный сценарий для ваших конкретных нужд, но на этом сайте есть диалог о том, как это сделать.

Вы также можете использовать утилиту cut для удаления поля вне.

Что-то вроде:

cut -f 2,5,6 -d , filename

где аргумент -f - это нужное поле, а -d - нужный разделитель. Затем вы можете отсортировать эти результаты, найти уникальные или использовать любую другую утилиту bash. Есть классное видео здесь о работе с CSV-файлами из командной строки. Я бы посмотрел всего через минуту.

Однако я думаю, вы могли бы сгруппировать утилиту cut с awk и не захотеть ее использовать. Я действительно не знаю, что именно вы подразумеваете под собственной командой bash, поэтому я все же предлагаю ее.

1
ответ дан 27 November 2019 в 06:56
поделиться

Быстрый поиск в Google обнаруживает awk-скрипт , который, кажется, обрабатывает файлы csv.

0
ответ дан 27 November 2019 в 06:56
поделиться

Попробуйте crush-tools , они отлично справляются с управлением данными с разделителями. Похоже, это именно то, что вы ищете.

5
ответ дан 27 November 2019 в 06:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: