
有沒有辦法將一個大的 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 檔案的生成方式,您可以在創建文件時將其分割成多個部分 - 這是相當常見的,並且有根據其創建方式,可以部署許多策略。