Aprenda a dividir um arquivo grande em vários arquivos menores usando o comando split no Linux.

O Linux fornece uma ampla variedade de comandos para manipulação e processamento de texto, incluindo o comando split. Com a divisão, você pode dividir facilmente arquivos grandes em arquivos menores ou extrair partes específicas de um arquivo com base em determinados critérios.

Vamos explorar como usar o comando split para dividir arquivos no Linux. Se você precisa extrair partes específicas de um arquivo grande ou dividir um arquivo em partes menores, o comando split pode ajudá-lo a atingir seus objetivos com facilidade.

O que é o comando split?

O comando split é uma popular ferramenta de linha de comando do Linux criada por Torbjorn Granlund e Richard M. Stallman. Como o nome indica, o comando split é usado para dividir um arquivo em subarquivos menores.

Este comando é útil para gerenciar arquivos grandes ou ao transferir arquivos em redes com largura de banda limitada. Ao dividir um arquivo grande em partes menores, você pode reduzir a quantidade de dados que precisam ser transferidos ou armazenados a qualquer momento. Você também pode reverter o comando split para combinar vários arquivos em um.

instagram viewer

A sintaxe do comando split

A sintaxe básica do comando split é:

dividir [OPÇÃO]... [ARQUIVO] [PREFIXO]
  • [OPÇÃO]: O comando split tem diferentes opções para decidir como você deseja que o arquivo seja dividido e outros recursos específicos que você pode estar interessado em adicionar.
  • [ARQUIVO]: Este é o caminho para o arquivo que você deseja dividir.
  • [PREFIXO]: Isso se refere ao prefixo dos subarquivos.

Como usar o comando split

Você pode usar o comando split para dividir um arquivo grande em arquivos menores por tamanho ou comprimento. Você pode até escolher o número específico de arquivos menores que deseja.

Para demonstração, usaremos um arquivo de texto chamado arquivogrande.txt. Escolha um arquivo de texto com várias linhas e um tamanho bastante grande para este tutorial. Se você não tiver isso, você pode usar um editor de texto Linux ou o comando cat para colar um texto grande e salvá-lo.

Dividir arquivos grandes com base no número de linhas

Você pode usar o comando split para dividir um arquivo grande em arquivos menores com base em um número específico de linhas por arquivo. Aqui está a sintaxe:

split -l [número de linhas] [arquivo de entrada] [prefixo do arquivo de saída]

Por exemplo, você pode querer dividir um arquivo com 210 linhas em arquivos de 50 linhas cada; você obteria cinco arquivos menores. Os primeiros quatro arquivos teriam 50 linhas cada e o quinto arquivo conteria apenas 10 linhas.

Para dividir um arquivo chamado "largefile.txt" em arquivos menores de 100 linhas cada, execute este comando:

split -l 100 arquivo grande.txt arquivo pequeno

Liste o conteúdo do diretório usando o comando ls, e você veria os arquivos divididos.

Dividir arquivos grandes com base no tamanho

Você também pode usar o comando split para dividir um arquivo grande em arquivos menores com base em um tamanho de arquivo específico. Aqui está a sintaxe básica:

split -b [tamanho em bytes] [arquivo de entrada] [prefixo do arquivo de saída]

Divida largefile.txt em arquivos menores de 300 bytes cada executando este comando:

split -b 300 arquivo grande.txt arquivo pequeno

Aqui está o resultado:

Dividir um arquivo grande em um número específico de arquivos

Você também pode dividir um arquivo em um número fixo de arquivos, independentemente do número de arquivos e bytes neles. Você faz isso usando o -n opção. Aqui está a sintaxe:

split -n [número de arquivos] [arquivo de entrada] [prefixo do arquivo de saída]

Para dividir um arquivo grande em cinco partes, execute este comando:

split -n 5 arquivo grande.txt arquivo pequeno

O resultado deve ficar assim:

Alterar o tamanho do sufixo dos arquivos divididos

Como você deve ter notado, o comprimento padrão dos sufixos anexados ao nome do arquivo de saída é dois. Por exemplo, arquivo pequenoaa, arquivo pequenoab, arquivo pequenoac, etc

Para alterar o comprimento do sufixo, você usa o -a opção. Aqui está a sintaxe para alterar o comprimento do sufixo:

split -a [comprimento do sufixo] [arquivo de entrada] [prefixo do arquivo de saída]

Você pode usar esta opção de tamanho de sufixo juntamente com outros comandos de divisão. Para dividir o arquivo largefile.txt em 10 partes com um comprimento de sufixo de 4, execute este comando:

split -a 4 -n 10 arquivo grande.txt arquivo pequeno

Ao listar o conteúdo do diretório, a saída deve ser semelhante a esta:

Mesclar vários arquivos com cat

A boa notícia é que você sempre pode mesclar arquivos divididos novamente para produzir o arquivo original. Para mesclar arquivos divididos de volta ao arquivo original, use o comando gato. Aqui está a sintaxe para fazer isso:

cat [arquivos divididos] > [arquivo de saída]

Ao usar o comando cat para mesclar arquivos divididos, é importante especificar a ordem correta dos arquivos divididos.

O comando cat simplesmente concatena os arquivos na ordem especificada, portanto, se os arquivos não estiverem na ordem correta, o arquivo mesclado será corrompido.

Em um cenário onde você tem muitos arquivos divididos, por exemplo, uma centena de arquivos divididos, seria complicado digitar cada arquivo um após o outro e na ordem correta.

É aqui que entra o prefixo. Apenas adicionar um sinal de asterisco (*) permite mesclar todos os arquivos que começam com esse prefixo.

cat prefix* > [arquivo de saída]

Aqui está um comando de exemplo que mescla arquivos divididos arquivo pequenoaa, smallfileab, arquivo pequeno, e arquivo pequeno em um único arquivo chamado arquivogrande.txt:

cat arquivopequeno* > arquivogrande.txt

Este comando irá concatenar o conteúdo de todos os arquivos divididos que correspondem ao padrão arquivo pequeno* e redirecione a saída para um novo arquivo chamado bigfile.txt. Ele também listará os arquivos divididos em ordem natural com base em seus nomes, que deve ser a ordem correta para mesclagem.

O comando split é apenas uma das muitas ferramentas que o Linux fornece para ajudá-lo a gerenciar arquivos grandes com eficiência, dividindo-os em partes menores e mais gerenciáveis.

Ao dominar os comandos de processamento de texto do Linux, você pode economizar tempo e recursos e se tornar mais eficiente.