我知道怎么做:
commandGeneratingLotsOfSTDOUT | bzip2 -z -c > compressed.bz2
Run Code Online (Sandbox Code Playgroud)
我也知道怎么做:
commandGeneratingLotsOfSTDOUT | split -l 1000000
Run Code Online (Sandbox Code Playgroud)
但我不知道该怎么做:
commandGeneratingLotsOfSTDOUT | split -l 1000000 -compressCommand "bzip2 -z -c"
Run Code Online (Sandbox Code Playgroud)
如果上面的内容尚未100%清除,我正在运行一个生成TB或两个输出的命令.我希望将输出分成N行的块(在这种情况下为100万),并将每个块压缩为bzip2并存储在文件中.
现在我做的是:
commandGeneratingLotsOfSTDOUT | split -l 1000000
foreach fileGenerated { bzip2 -z thatFile }
Run Code Online (Sandbox Code Playgroud)
这为每个文件添加了额外的写入磁盘并从磁盘读取(并再次写入磁盘,尽管已压缩)!由于文件都大于RAM,因此转换为实际的磁盘使用情况.