Gibt es eine Möglichkeit, den Inhalt eines bzip2-Archivs in ein anderes Verzeichnis zu extrahieren, ohne temporäre Dateien zu erstellen?

558
Adrian

Ich arbeite mit Wikipedia-XML-Dumps und suche nach einer Möglichkeit, sie direkt auf meine Ramdisk zu extrahieren. Sie sind einfach eine einzelne XML-Datei, die mit bzip2 komprimiert ist.

Ich habe es versucht

bzip2 -dk archive.bz2 /target/directory 

Am Ende wird jedoch der Inhalt in dasselbe Verzeichnis extrahiert, in dem sich archive.bz2 befindet. Ich habe nicht die Mühe gewartet, zu sehen, ob der Inhalt danach verschoben wird, da dies nicht das ist, wonach ich suche. Irgendwelche Ideen?

0

1 Antwort auf die Frage

0
Romeo Ninov

Der wohl bekannteste Weg, den ich kenne, ist dies zu tun:

cd /target/directory; bzip2 -d /path/to/achive/archive.bz2 
Auf meinem System scheint dies eine temporäre Datei im Archivverzeichnis zu erstellen, die ich möglichst vermeiden möchte. Adrian vor 9 Jahren 0
@Adrian, setzen Sie die TEMP-Variable auf irgendwo, zum Beispiel das Zielverzeichnis, und versuchen Sie es erneut. Beachten Sie, dass bzip2 bei hoher Komprimierung ausreichend Speicherplatz benötigt Romeo Ninov vor 9 Jahren 0
Ich habe versucht, `TEMP = / mnt / ramdisk` als Ziel festzulegen und dann den Befehl von dort aus auszuführen, aber ich bekomme immer noch eine temporäre Quelle im Quellverzeichnis. Was vermisse ich? Adrian vor 9 Jahren 0
@Adrian, diese Datei ist eigentlich das unkomprimierte Archiv und Sie können es nicht vermeiden. Ich persönlich habe keine Informationen darüber, wie Sie woanders erstellt werden können. Sie können das Archiv jedoch jederzeit selbst verschieben Romeo Ninov vor 9 Jahren 0
Aha. Ich hatte gehofft, dass es eine Möglichkeit gibt, die extrahierten Daten als Datenstrom im Zielverzeichnis abzulegen. Ich werde sehen, ob ich eine andere Lösung finden kann. Vielen Dank für die Hilfe! Adrian vor 9 Jahren 0