大きなgzファイル(11 GB)を用意しています.100 GBの空き容量のあるコンピュータには解凍できません。私はコマンドで最初の50 GBを抽出しました:.gzファイルの一部(先頭ではない)を抽出する方法は?
gzip -cd file.gz | dd ibs=1024 count=50000000 > first_50_GB_file.txt
ファイルのこの部分からデータを正常に解析できました。今私は、解析するファイルの他の部分を抽出したいと思います。私は、ファイルから最後のn行を抽出し、その後、次のようにすることを解凍しようとしました:
tail -50 file.gz > last_part_of_file.gz
私はその後、私が使用できることを期待:
gzip -cd last_part_of_file.gz | dd ibs=1024 count=50000000 > last_50_GB_file.txt
が、tailコマンドを取っていますたった50行のテストでは> 10分。
誰かが.gzファイルの(潜在的に恣意的な)部分をどのように抽出するのかについての初めが含まれていない場合、私は非常に感謝します。
なぜ、テールが機能しないのか理解できました。私はこれを試し、多くの成功を収めていませんでした。 'を使用するgzip -cd file.gz | dd ibs = 1024 skip = 50000000> after_50_GB_file.txt ' ディスク上のすべての領域を占有しました。だから私は、コマンドにあるブロック数の後に停止するように指示しなければならないと仮定しました。私は次に試しました: 'gzip -cd file.gz | dd ibs = 1024 skip = 49000000 count = 50000000> after_49_GB_next_50GB.txt 'これで90 GBのファイルが作成されました。あなたは何が起こっているかも知っていますか? –
何を手に入れましたか? –
私はそれを使用することができました: gzip -cd file.gz | dd ibs = 1024スキップ= 49000000件数= 50000000件中= after_49GB_next_50_GB_file.txt ありがとうございました! –