Como divido um arquivo em peças no Linux

Como divido um arquivo em peças no Linux
Este tutorial explica como dividir arquivos em peças no Linux por tamanho facilmente, vários arquivos, conteúdo e mais opções. Depois de ler este artigo, você saberá como dividir os arquivos usando os dois dividir e csplit comandos e como combinar ou unir peças de arquivo de volta.

Como dividir arquivos por tamanho no Linux:

Para o primeiro exemplo deste tutorial, usarei uma imagem ISO de 5 GB do Windows nomeada Win10x64.ISO. Para aprender o tamanho do arquivo que você deseja dividir, você pode usar o du -h comando, como mostrado na captura de tela abaixo.

du -h

Como você pode ver, o tamanho do arquivo é de 5 GB. Para dividi -lo em 5 arquivos de 1 GB cada, você pode usar o dividir comando seguido pelo -b bandeira e o tamanho dos arquivos divididos que você deseja. O G Definir a unidade de tamanho para GB pode ser substituída por M para megabytes ou B para bytes.

dividido -b 1g win10x64pro.ISO

Como você pode ver, o ISO foi dividido em 5 arquivos nomeados Xaa, xab, xac, xad e xae.

Por padrão, o dividir Nomes de comando gerados arquivos no exemplo anterior, onde Xaa é a primeira parte, xab a segunda parte, xac o terceiro, etc. Conforme mostrado no exemplo abaixo, você pode alterar isso e definir um nome, deixando o nome padrão como uma extensão.

dividido -b 1g win10x64pro.Windows ISO.

Como você pode ver, todos os arquivos são nomeados Windows.*, a extensão do nome dado pelo comando dividido, que nos permite conhecer a ordem dos arquivos.

Ao usar o comando dividido, você pode implementar a verbosidade do comando para imprimir o progresso, como mostrado na captura de tela a seguir.

Split --verbose -b 1g win10x64pro.Windows ISO.

Como você pode ver, a saída de progresso mostra a fase da divisão de arquivos. O próximo exemplo mostra como dividir os arquivos em unidades MB. O arquivo é um arquivo de 85 MB.

Split --verbose -b 20m VirtualBox.Deb VirtualBox.Deb.

O comando dividido inclui recursos interessantes adicionais que não são explicados neste tutorial. Você pode obter informações adicionais no comando dividido em https: // man7.org/linux/man-páginas/man1/split.1.html.

Como dividir arquivos por conteúdo no Linux usando o CSplit:

Em alguns casos, os usuários podem querer dividir arquivos com base em seu conteúdo. Para tais situações, os explicados anteriormente dividir O comando não é útil. A alternativa para alcançar isso é o csplit comando.

Nesta seção do tutorial, você aprenderá como dividir um arquivo toda vez que uma expressão regular específica é encontrada. Usaremos um livro e o dividiremos em capítulos.

Como você pode ver na imagem abaixo, temos 4 capítulos (eles foram editados para permitir que você veja as divisões do capítulo). Digamos que você queira cada capítulo em um arquivo diferente. Para isso, a expressão regular que usaremos é “Capítulo““.

Eu sei que existem 4 capítulos neste livro, então precisamos especificar o número de divisões que queremos evitar erros. Nos exemplos abaixo, explico como dividir sem saber o número de expressões regulares ou divisões. Mas, neste caso, sabemos que existem 4 capítulos; Assim, precisamos dividir o arquivo 3 vezes.

Execute csplit seguido pelo arquivo que você deseja a divisão, a expressão regular entre as barras e o número de divisões entre os aparelhos, como mostrado no exemplo abaixo.

csplit linuxhint.txt / capítulo / 3

A saída que vemos é a contagem de bytes para cada peça de arquivo.

Como você pode ver, foram criados 5 arquivos, o espaço vazio antes do capítulo 1 também foi dividido.

Os arquivos são nomeados como quando estiver usando o comando dividido anteriormente explicado. Vamos ver como eles foram divididos.

O primeiro arquivo, xx00 está vazio, é o espaço vazio antes da primeira vez que “Capítulo”Expressão regular aparece e o arquivo é dividido.

A segunda peça mostra apenas o primeiro capítulo corretamente.

A terceira peça mostra o capítulo 2.

A quarta peça mostra o capítulo três.

E a última peça mostra o capítulo 4.

Como explicado anteriormente, o número de expressões regulares foi especificado para evitar um resultado errado. Por padrão, se não especificarmos o número de divisões, o csplit só cortará o arquivo uma vez.

O exemplo a seguir mostra a execução do comando anterior sem especificar o número de divisões.

csplit linuxhint.txt /capítulo /

Como você pode ver, apenas uma divisão e dois arquivos foram produzidos porque não especificamos o número de divisões.

Além disso, se você digitar um número errado de divisões, por exemplo, 6 divisões com apenas 4 expressões regulares, você receberá um erro e nenhuma divisão ocorrerá, como mostrado no exemplo abaixo.

Então, o que fazer quando o conteúdo é muito longo, e você não sabe quantas expressões regulares dividirem você tem no conteúdo?. Em tal situação, precisamos implementar o curinga.

O curinga produzirá muitas peças como expressões regulares encontradas no documento sem a necessidade de você especificá -las.

csplit linuxhint.txt / capítulo / *

Como você pode ver, o arquivo foi dividido corretamente.

O comando csplit inclui recursos interessantes adicionais que não são explicados neste tutorial. Você pode obter informações adicionais no comando dividido em https: // man7.org/linux/man-páginas/man1/csplit.1.html.

Como combinar ou juntar os arquivos de volta:

Agora você sabe como dividir arquivos com base no tamanho ou conteúdo. A próxima etapa é combinar ou juntar arquivos de volta. Uma tarefa fácil usando o gato comando.

Como você pode ver abaixo, se lermos todas as peças do arquivo usando o gato e o curinga, o gato O comando os ordenará pela ordem alfabética de seus nomes.

gato xx*

Como você pode ver, os gatos são capazes de solicitar os arquivos corretamente. Ingressar ou mesclar os arquivos consiste em exportar esse resultado; você pode fazer isso como mostrado no exemplo abaixo, onde o CombinedFile é o nome do arquivo combinado.

gato xx*> combinadofile

Como você pode ver na figura a seguir, o arquivo foi mesclado.

Menos arquivo combinado

Conclusão:

Como você pode ver, a divisão de arquivos em peças no Linux é bem fácil, e você só precisa estar ciente de qual é a ferramenta adequada para sua tarefa. Vale a pena para qualquer usuário do Linux aprender esses comandos e suas vantagens, por exemplo, ao compartilhar arquivos através de uma conexão instável ou através de canais limitando o tamanho do arquivo. Ambas as ferramentas têm muitos recursos adicionais que não foram explicados neste tutorial, e você pode ler nas páginas do homem deles.

Espero que este tutorial explique como dividir um arquivo em peças no Linux foi útil. Continue seguindo este site para mais dicas e tutoriais do Linux.