«

»

Apr 09 2012

Separando arquivos em partes no Linux

O programa split vem com a maioria das distribuições GNU/Linux. Ele separa um arquivo em partes que podem ser juntadas com o cat. Funciona tanto com arquivos binários e textuais.

Eu costumo usá-lo dessa forma:

split -d -b TAMANHO arquivo PREFIXO
PREFIXO Quando o arquivo for separado, cada parte vai começar com esse nome.
-d Isso faz cada parte ter um sufixo numérico (em vez de alfabético, que é o padrão).
-b O tamanho máximo que cada parte pode ter. Isso está em bytes, mas pode ser escrito seguido de KB, MB, GB...
Para saber mais, veja a manpage aqui.
Nesse exemplo, eu crio e separo um arquivo:

$ cat >arquivo
fdjsafoanfioewfnioweafnio23nfo2i3nf32ofn23
fn32iofn2ç3fn2ñfo2çnfoç23nfoi23noçffanfndsa
nfsadfndsfkankdsaf sdfnwefi32nñfonfowfniwN
FNEWIfnçiewFNWEIFNioeWDNEQDNWQINDIQNDIQWN12
FNEWJF3NFINIF3N2IFN3FN3NF3RMF32P
MF2N3IOFNI32ORNO2NRIO2F3F90J930rj20moedfmwf
(Control+D)
$ ls
arquivo
$ split -d -b 30 arquivo parte_
$ ls
arquivo  parte_00  parte_01  parte_02  parte_03  parte_04  parte_05  parte_06
parte_07  parte_08
E aqui junto todo o arquivo novamente. Note o diff no final pra garantir que são, de fato, o mesmo arquivo.
$ cat parte_* >novo_arquivo
$ ls
arquivo  novo_arquivo  parte_00  parte_01  parte_02  parte_03  parte_04  parte_05
parte_06  parte_07  parte_08
$ diff novo_arquivo arquivo
$

Leave a Reply

Your email address will not be published.

%d bloggers like this: