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.
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.