Tente usar o comando dd
:
mysource | dd bs=1M count=100K skip=0K iflag=fullblock of=mysource-0.img
# some times later, after processing above out file
rm mysource-0.img
mysource | dd bs=1M count=100K skip=100K iflag=fullblock of=mysource-1.img
Como solução alternativa para outro problema Eu preciso canalizar para um fluxo para um arquivo, mas uma parte específica dele.
Em resumo, o que preciso alcançar é o seguinte:
caso original:
mysource > mysource.img
# mysource.img is 500GB
minha intenção:
mysource | stream-take 0 100GB > mysource-0.img
# mysource-0.img is 100GB
#
# some times later, after processing above out file
rm mysource-0.img
mysource | stream-take 100GB 200GB > mysource-1.img
# mysource-1.img is 100GB
...
em seguida, concatene esses arquivos no local remoto:
cat mysource-* > mysource.img
Tente usar o comando dd
:
mysource | dd bs=1M count=100K skip=0K iflag=fullblock of=mysource-0.img
# some times later, after processing above out file
rm mysource-0.img
mysource | dd bs=1M count=100K skip=100K iflag=fullblock of=mysource-1.img
Use o comando split
:
mysource | split --bytes 100G
Veja também: Como dividir arquivos maiores em partes menores?
Tags files