如何將一個大的 gzip 檔案分割成較小的 gzip 檔案而不先解壓縮它?

如何將一個大的 gzip 檔案分割成較小的 gzip 檔案而不先解壓縮它?

有沒有辦法將一個大的 gzip 檔案分割成較小的 gzip 檔案而不使用zcat

zcat large.bed.gz| split --numeric-suffixes - -b 7M --filter='gzip > $FILE.gz' large.part.

答案1

你的問題的答案(考慮到節省時間的目標,而不是用 zcat 代替其他東西 - 這是可以做到的)這不可能

問題是 gzip 檔案的壓縮輸出的長度將根據輸入而變化,而且這不容易預測,因此分割檔案沒有明顯的邊界。

另外,您建議的命令是您正在使用的實際命令嗎?如果是這樣,它就會被破壞,因為它將檔案分割在任意位置,而不是行邊界。您應該使用類似“-l XXXXX”的內容 - 其中 XXXXX 是行數,而不是“-b 7M”是區塊大小。

您沒有為我們提供足夠的資訊來建議進一步的解決方法,但如果您可以控制 .gz 檔案的生成方式,您可以在創建文件時將其分割成多個部分 - 這是相當常見的,並且有根據其創建方式,可以部署許多策略。

相關內容