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.