Uma maneira simples é apenas tar o arquivo, imprimir o arquivo na saída padrão e passá-lo por divisão:
tar czpf - file0 | split -d -b 10M - file0
Note que isso não é bem o que você tentou. O comando que você tem em seu comentário ( tar czpf - . | split -d -b 10M - file0
) estava usando .
como entrada. Isso significa que o "arquivo" de entrada para tar
, o diretório atual, foi alterado assim que split
começou a gravar seus arquivos de saída no diretório atual, portanto, tar
reclamou. Para evitar isso, forneça tar
do nome do arquivo, como eu fiz acima, ou execute isso em outro diretório:
cd /some/place
tar czpf - /path/to/dir/containing/file0 | split -d -b 10M - file0
Em ambos os casos, para descompactar o arquivo, você terá que catar os arquivos para se juntar a eles:
cat file00* | tar xzvf -