Mac OS X разделить CSV не работает - PullRequest
0 голосов
/ 03 июля 2018

Я пытаюсь разбить большой 200000-строчный CSV-файл на более мелкие части с помощью команды терминала:

split -l 20000 users.csv

Из того, что я прочитал в Интернете, это должно разделить 200 000 строк CSV на десять 20 000 строк файлов, но этого не происходит. Все, что я получаю, это текстовый файл с именем 'xaa', который является просто исходным csv, все 200 000 строк.

Как я уже сказал в заголовке, я бегу на Mac OS High Sierra v.10.13.5

Что именно мне здесь не хватает?

Ответы [ 2 ]

0 голосов
/ 03 июля 2018

Как отмечает Кен Томасес в комментариях, наиболее вероятным виновником является то, что в файле используются разделители строк без перевода строки, а наиболее вероятным виновником является CR (возврат каретки).

Вы можете определить, так ли это, используя утилиту file. Файл с такими разделителями строк выглядит так:

$ file foo
foo: ASCII text, with CR line terminators

Причина, по которой split будет вести себя таким образом с этими разделителями строк, заключается в том, что файл будет иметь длину только одну строку (без символов новой строки). Так что split напишет эту одну (очень длинную) строку и выйдет.

0 голосов
/ 03 июля 2018

вы должны использовать команду split с опцией -b. Это разделит ваши файлы на основе килобайт или мегабайт. Это может разбить строку в конце, но может быть учтено вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...