Wie dekomprimiert man nur einen Teil einer Datei?

Wie dekomprimiert man nur einen Teil einer Datei?

Ich habe eine große, sich wiederholende Textdatei. Sie lässt sich sehr gut komprimieren – komprimiert ist sie etwa 3 MB groß. Dekomprimiert benötigt sie jedoch 1,7 GB. Da sie sich wiederholt, benötige ich nur einen Bruchteil der Ausgabe, um den Inhalt der Datei zu überprüfen.

Es wurde mit komprimiert gzip. gunzipGibt es eine Möglichkeit, nur die ersten paar Megabyte einer Datei zu dekomprimieren?

Antwort1

Sie können es auf die Standardausgabe dekomprimieren und es durch etwas wie Folgendes leiten, headum nur einen Teil davon zu erfassen:

gunzip -c file.gz | head -c 20M >file.part

Das -cFlag headerfordert die headImplementierung, die von GNU Coreutils bereitgestellt wird.

ddkann auch verwendet werden:

gunzip -c file.gz | dd of=file.part bs=1M count=20

Beide Pipelines kopieren die ersten 20 MiB der unkomprimierten Datei nach file.part.

verwandte Informationen