segunda-feira, 9 de novembro de 2015

Split o comando shell split

Comandos SHELL BASH O comando split divide um arquivo em arquivos menores com base em um número especificado de linhas ou partes . Cada um destes arquivos menores são iguais em tamanho desde que a divisãop dos mesmo sejaa um numero inteiro, assim com excessão do ultimo que ficará com a sobra de linhas todos os demais terão o mesmo tamanho.. O arquivo original não é alterado pela separação. e todos os arquivos serão criados no diretório corrente. O comando split pode ser útil para dividir grandes arquivos de dados em arquivos menores, mais gerenciáveis.. No caminho oposto podemos cosntruir um arquivo a partir de fragmentos com o comando CAT.. Alguns comandos não tem capacidade para trabalhar com arquivos muito grandes; portanto, dividir o arquivo em partes menores para estes comandos e esssencial. O comando split lê a entrada de um arquivo ou a entrada padrão e cria vários arquivos de saída. Formato geral:     divisão [opção] [INPUT [PREFIX]] Cada arquivo pode conter qualquer quantidade fixa de partes (-b) ou linhas (-l). Em caso de bytes, poderá utilizar sufixo "k" e "m" em tamanho. TAMANHO pode ter um sufixo multiplicador: b para 512, k para 1K, m para 1 Meg. Se você fornecer o argumento prefixo, os arquivos de destino são nomeados prefixXX. Onde XX é aa para o primeiro arquivo, ab para o segundo, e continua até que o zz arquivo. Isso é um total de 676 arquivos você pode gerar se você dividir sua entrada em tamanhos pequenos o suficiente. Ao usar o prefixo, você deve usar um nome de dois caracteres menores do que o máximo permitido para nomes de arquivos. O comprimento máximo do nome do arquivo é 100; portanto, você deverá usar no maximo nomes de 98 caracteres para prefixo. Se um argumento prefixo não for especificado, os arquivos de destino são nomeados XXX. separação utiliza os X como um prefixo., geralmente xaa xab xac etc... O formato geral do comando SPLIT segue.      split [opções] [arquivo [prefixo] Opções Os argumentos obrigatórios para as opções longas são obrigatórios para opções curtas. -a, --suffix-N = comprimento     usar sufixos de comprimento N (padrão 2) -b, --bytes = TAMANHO     colocar TAMANHO bytes por ficheiro de saída -C, --line-Bytes = TAMANHO     colocar na maioria dos bytes tamanho do arquivo de saída linhas por -d, --numeric-sufixos     usar sufixos numéricos em vez de alfabéticos -l, --lines = NÚMERO     número de linhas colocadas por arquivo de saída --verbose     imprimir um diagnóstico para o erro padrão imediatamente antes de cada arquivo de saída é aberta --help     exibir esta ajuda e sai --version     informações de versão e sai TAMANHO pode ter um sufixo multiplicador: b para 512, k para 1K, m para 1 Meg.   Argumentos A lista a seguir descreve os argumentos que podem ser passados ​​para o comando de divisão. - Causas dividir a ler a partir da entrada padrão. file O nome do arquivo de divisão lê e se divide em n ou 1000 arquivos de linha. Se nenhum arquivo for dado na linha de comando, divisão irá ler da entrada padrão. O prefixo será a base para o nome de todos arquivos de saída. Uma extensão é adicionada como prefixo para cada arquivo criado. A extensão é constituído por dois caracteres alfabéticos. A primeira extensão do arquivo é "aa", depois "ab", e assim por diante até a entrada original está completamente dividido. Se o prefixo não for especificado, a saída é gravada em um arquivo com uma parte de base de "x" e as extensões normais. Assim, os nomes de arquivo de saída padrão são xaa, xab, e assim por diante. divisão coloca sua saída em arquivos com uma extensão de dois caracteres. Os personagens começam com "aa", o próximo arquivo é "ab", e assim por diante até que toda a entrada foi dividido e armazenado em vários arquivos. Exemplos Nesta atividade, você usa o comando de divisão para dividir a entrada padrão para arquivos de saída separados. Comece no prompt shell.      split -20 - /etc/passwd bustamancio@amancio:~$ split -20 /etc/passwd bustamancio@amancio:~$ ls Área de Trabalho Documentos Imagens Público Templates xaa Documento1.bak~ Downloads Música shellus Vídeos xab bustamancio@amancio:~$ Veja no exemplo acima foram criados dois arquivos um com 20 linhas xaa e o segundo xab com as linhas restantes. veja: bustamancio@amancio:~$ cat xab messagebus:x:102:106::/var/run/dbus:/bin/false usbmux:x:103:46:usbmux daemon,,,:/home/usbmux:/bin/false dnsmasq:x:104:65534:dnsmasq,,,:/var/lib/misc:/bin/false ntp:x:105:110::/home/ntp:/bin/false whoopsie:x:106:114::/nonexistent:/bin/false lightdm:x:107:115:Light Display Manager:/var/lib/lightdm:/bin/false bustamancio:x:1000:1000:Bustamancio,,,:/home/bustamancio:/bin/bash postfix:x:108:120::/var/spool/postfix:/bin/false bustamancio@amancio:~$ Para xab sobaram 8 linhas.           Trabalhando no mesmo arquivo, este próximo exemplo é mais complexo: vou dividir o arquivos epartes de oito linhas cada com o arquivo tem 28 linhas a saida gerara 4 arquivos de 8 linhas cada     split -l 8 /etc/passwd bustamancio@amancio:~$ split -l 8 /etc/passwd bustamancio@amancio:~$ ls Área de Trabalho Documentos Imagens Público Templates xaa xac Documento1.bak~ Downloads Música shellus Vídeos xab xad bustamancio@amancio:~$ Gerou xaa xab xac xad, cada um com oito linhas             Agora vamos fazer uma divisão por tamanho, suponha o arquivo tem mais de 12 gigas, e você precisa salvar em um DVD sabendo que só poderá ser gravado 4.5 em cada dvd,     split -b 4500m arqiuivo iso_segment Exemplo Vou dividir o aruivo Megacubo.exe 986,7 KiB (1.010.360 bytes) bustamancio@amancio:~/Downloads$ split -b 450000 Megacubo.exe bustamancio@amancio:~/Downloads$ ls apostila-introducao-shell.pdf Linux Shell Scripting Tutorial v2.0.pdf xab Incrementando_o_Shell_com_ER(1).pdf Megacubo.exe xac Incrementando_o_Shell_com_ER.pdf sistema-operacional-1-ano-de-informatica-completa.pdf LINUX.pdf xaa bustamancio@amancio:~/Downloads$ No exemplo acima forama criados dois arquivos de 450 kb e um de 86,7 kb. Em algumas situações se torna desejável a divisão de um arquivo em vários outros menores, aplicando-se alguma restrição. O comando split possibilita a divisão de um arquivo baseando-se no número de linhas ou número de bytes que cada arquivo novo deverá conter. Por exemplo: split -l 10 /etc/passwd Este comando criará vários arquivos denominados xaa, xab, xac, etc. Nem sempre estes nomes são os mais convenientes. Neste caso podemos, com o acréscimo de mais um parâmetro, determinar o sufixo do nome dos arquivos que serão criados: split -l 10 /etc/passwd pas- ls pas-aa pas-ab pas-ac pas-ad pas-ae pas-af pas-ag pas-ah Os arquivos criados passaram a conter o prefixo pas-, permitindo identificar mais claramente os contadores dos arquivos (aa, ab, ac, etc.) Além do particionamento em linhas, o comando split, quando invocado com a opção b, irá efetuar a divisão do arquivo baseando-se no número de bytes: split -b 32k /etc/passwd pas- ou então split -b 32 /etc/passwd pas- ou ainda split -b 32m /etc/passwd pas- No primeiro exemplo, o arquivo /etc/passwd será dividido em vários arquivos de 32kbytes cada um, ao passo que no segundo exemplo, o arquivo será dividido em arquivos de 32 bytes cada. No terceiro exemplo, o arquivo /etc/passwd é dividido em arquivos de 2MB cada (pouco provável :-) Um outro exemplo, para dividir um arquivo em vários para gravação em disquetes de 1.44, o comando split é uma das opções possíveis: # split -b 1400000 O comando split irá criar vários arquivos chamados xaa, xab, xac, etc. Para restaurá-los basta usar o comando cat, como abaixo: # cat x* > original_filenamete.

Nenhum comentário:

Postar um comentário

Megacubo par Linux e Wnidows - Assistir TV no Computador

                            MEGACUBO PARA LINUX Ola!! Neste  post vamos falar  um pouquinho sobre o  Megacubo, um tradicional programa ...