
を使用せずに大きな gzip ファイルを小さな gzip ファイルに分割する方法はありますかzcat
?
zcat large.bed.gz| split --numeric-suffixes - -b 7M --filter='gzip > $FILE.gz' large.part.
答え1
あなたの質問に対する答えは(zcatを他のものに置き換えるのではなく、時間を節約するという目標を考慮すると、これは可能です)これは不可能です。
問題は、gzip ファイルの圧縮出力の長さが入力に応じて変化し、これを簡単に予測できないため、ファイルを分割する明確な境界が存在しないことです。
また、あなたがアドバイスしたコマンドは、実際に使用しているコマンドですか? そうであれば、行の境界ではなく任意の位置でファイルを分割するため、壊れています。ブロック サイズである「-b 7M」ではなく、「-l XXXXX」のようなコマンドを使用する必要があります。ここで、XXXXX は行数です。
さらなる回避策をアドバイスするには十分な情報が提供されていませんが、.gz ファイルの生成方法を制御できる場合は、作成時にファイルを分割できる可能性があります。これはかなり一般的な方法であり、作成方法に応じて展開できる戦略は多数あります。