Команда разбить текстовый файл по количеству строк


16

Ситуация:

У меня есть текстовый файл, который составляет около 1,5 ГБ, содержащий около 4000000строк.

Я хочу импортировать это в, Libreoffice calcи, как вы знаете, вы не можете импортировать этот огромный файл с большим количеством строк (я думаю, максимум - 65000 строк).

В любом случае мне нужна простая команда, которая может разбить этот файл на более мелкие файлы с количеством строк в каждом файле <65000 строк.


@hakermania: сделано.
Тарун

Ответы:


19

Вы можете использовать splitкоманду:

split -l N /path-to-file

Где N - максимальное количество строк, которое может быть в файле.

Эта команда разбивает файл на более мелкие файлы, каждый из которых содержит N строк.

Используйте man splitдля получения дополнительной информации.


3

Если вы используете split и создаете несколько файлов, вашей следующей проблемой будет то, как использовать Calc для манипулирования всеми этими данными во всех этих файлах. И это накапливает одну проблему на другую. С 65000 строк это будет 62 (!) Страницы.

Вы просто используете не тот инструмент. Используйте Libreoffice Base или MySQL для импорта данных, а затем используйте Libreoffice Calc для расчета и / или манипулирования этими данными.

Относительно ограничений это зависит от используемой вами версии Libreoffice:

  • до 3.3.3: ограничение составляет 65 536 строк
  • 3.3.3 и позже: 1 048 576 строк (1M)

Если вы хотите, вы можете сделать 4-метровые записи с 3.3.3+ на 4 страницах, но базовый модуль LibreOffice может импортировать практически без ограничения строки, если этого недостаточно. Вот введение, как это сделать, и вот пример базы данных с файлом импорта . Управление данными в базе легко и быстро.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.