Проблемы с разделением файлов CSV

Я пытаюсь разбить файл csv на несколько файлов, используя команду ниже. Эта команда разбивается на 5 файлов, но данные усекаются в одном из файлов?

Как исправить эту проблему?

>>split -n 5 -d -a 2 testfile 

У меня есть 5001 строк на моем входе, но раздробление разбивается на

 file1 - 932 file2 - 910 file3 - 1149 file4 - 1044 file5 - 966 

Разве это не должно быть 1000 строк в файле?

2 Solutions collect form web for “Проблемы с разделением файлов CSV”

split -n 5 разбивает файл на пять частей, делая все, кроме последней части, одинаковым количеством байтов .

Если вы хотите выполнять разделение только на границах линии, используйте:

 split -nl/5 -d -a 2 testfile 

Это подробно описано в документах GNU для split следующим образом:

'-n chunks'
'–number = ломти'
Разделить входные данные на выходные файлы, в которых могут быть:

  n generate n files based on current size of input k/n only output kth of n to stdout l/n generate n files without splitting lines l/k/n likewise but only output kth of n to stdout r/n like 'l' but use round robin distribution r/k/n likewise but only output kth of n to stdout 

Другой вариант – указать, сколько строк вы хотите в каждом выходном файле:

 split -l 1000 -d -a 2 testfile 

Вышеуказанное разбивает файл на части, каждый (кроме последнего) с 1000 строк. Это задокументировано как:

'-l lines'
'–lines = строки'
Поместите линии ввода ввода в каждый выходной файл.

Используйте параметр -l для split . На странице руководства:

  -l line_count Create smaller files n lines in length. 

например

 split -l 1000 afile.txt 
  • Каковы различия между расколом и раном?
  • разделить линию на основе пробела и удалить вторую часть
  • Каков наилучший способ присоединиться к файлам снова после их разделения?
  • Разделить файл на два
  • Как эффективно разделить большой текстовый файл без разделения многострочных записей?
  • Разделить файл на две строки перед шаблоном
  • разбиение массива и отправка значений в hashset в awk
  • Найдите шаблон в файле и переместите его в новые файлы по одному
  • Разделить двоичные данные фиксированного байтового смещения по байтовой позиции?
  • разделить файл на равное количество
  • разбивать строку на путь и приложение
  • Linux и Unix - лучшая ОС в мире.