如何通过管道传输到特定范围的流的文件?

如何通过管道传输到特定范围的流的文件?

作为解决方法我的其他一些问题我需要通过管道将流传输到文件,但只是文件的特定部分。

简而言之,我需要实现的目标如下:

原案:

mysource > mysource.img
# mysource.img is 500GB 

我的意图:

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 
...

然后,在远程位置连接这些文件:

cat mysource-* > mysource.img

答案1

尝试使用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

答案2

使用split命令:

mysource | split --bytes 100G

也可以看看:如何将较大的文件分割成较小的部分?

相关内容