Comando para dividir um arquivo de texto de acordo com o número de linhas


16

A situação:

Eu tenho um arquivo de texto com cerca de 1,5 GB contendo 4000000linhas.

Eu quero importar isso para Libreoffice calce como você sabe que você não pode importar este arquivo enorme com grande número de linhas (acho que o máximo é de 65000 linhas).

Enfim, o que eu preciso é de um comando simples que possa dividir esse arquivo em arquivos menores, com número de linhas em cada arquivo <linha 65000.


@ hakermania: pronto.
Tarun 28/01

Respostas:


19

Você pode usar o splitcomando:

split -l N /path-to-file

Onde N é o número máximo de linhas que podem estar em um arquivo.

Este comando dividirá o arquivo em arquivos menores, cada um com N número de linhas.

Use man splitpara mais informações.


3

Se você usar o split e criar vários arquivos, seu próximo problema será como usar o Calc para manipular todos esses dados em todos esses arquivos. E isso está acumulando um problema no outro. Com 65000 linhas, serão 62 (!) Páginas.

Você está apenas usando a ferramenta errada. Use o Libreoffice Base ou o MySQL para importar os dados e use o Libreoffice Calc para fazer o cálculo e / ou manipulação desses dados.

Em relação aos limites, isso depende da versão livre do Libreoffice que você está usando:

  • pré 3.3.3: o limite é 65 536 linhas
  • 3.3.3 e posterior: 1 048 576 linhas (1M)

Se você quiser, pode fazer registros de 4m com 3.3.3+ com 4 páginas, mas o módulo Base do LibreOffice pode importar quase sem limite de linhas, se isso não for suficiente. Aqui está uma introdução de como fazer isso e aqui está um exemplo de banco de dados com arquivo de importação . Manipular os dados no Base é fácil e rápido.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.