Команда розділити текстовий файл відповідно до кількості рядків


16

Ситуація:

У мене є текстовий файл розміром близько 1,5 ГБ, який містить 4000000рядки.

Я хочу імпортувати це до, Libreoffice calcі як ви знаєте, ви не можете імпортувати цей величезний файл з великою кількістю рядків (я думаю, що максимум - 65000 рядків).

У будь-якому випадку мені потрібна проста команда, яка може розділити цей файл на менші файли з кількістю рядків у кожному файлі <65000 рядків.


@hakermania: зроблено.
Тарун

Відповіді:


19

Ви можете використовувати splitкоманду:

split -l N /path-to-file

Де N - максимальна кількість рядків, які можуть бути у файлі.

Ця команда розділить файл на менші файли, кожен з N числом рядків.

Використовуйте man splitдля отримання додаткової інформації.


3

Якщо ви використовуєте розділені та створюєте кілька файлів, наступною проблемою стане те, як використовувати Calc для маніпулювання всіма цими даними у всіх цих файлах. І це зводити одну проблему до іншої. З 65000 рядків це буде 62 (!) Сторінки.

Ви просто використовуєте неправильний інструмент. Використовуйте Libreoffice Base або MySQL для імпорту даних, а потім використовуйте Libreoffice Calc для обчислення та / або маніпулювання цими даними.

Щодо обмежень, це залежить від Libreofficeversion, яку ви використовуєте:

  • до 3.3.3: обмеження - 65 536 рядків
  • 3.3.3 та пізніших версій: 1 048 576 рядків (1М)

Якщо ви хочете, ви можете робити 4-метрові записи з 3.3.3+ з 4 сторінками, але базовий модуль LibreOffice може імпортувати майже без обмеження рядків, якщо цього недостатньо. Ось вступ у те, як це зробити, і ось приклад бази даних з файлом імпорту . Маніпулювання даними в Base легко та швидко.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.