Tarieren und speichern Sie die Ausgabe eines Befehls

515
ather05

Ich möchte die Ausgabe eines Befehls beispielsweise cat hello.worldin eine komprimierte TAR-Datei tarieren.

Ich möchte eine temporäre Datei nicht speichern und sie später manuell tarieren.

Wie kann ich das machen?

0
`tar` erfordert eigentlich echte Dateien, um im Archiv aussagekräftige Namen zu geben. Am besten verwenden Sie wahrscheinlich das Modul [tarfile] (https://docs.python.org/2/library/tarfile.html) von Python. Toby Speight vor 7 Jahren 0

1 Antwort auf die Frage

1
John1024

tarDateien speichern nicht nur den Inhalt von Dateien, sondern auch die Dateinamen, die Dateiberechtigungen und mehr. Nichts davon trifft auf "die Ausgabe eines Befehls" zu.

Aus Ihrer Beschreibung klingt es, als ob Sie gerade brauchen gzip. Zum Beispiel:

command | gzip >output.gz 

Dies erfasst die Ausgabe von command, komprimiert sie und speichert sie in einer Datei output.gz.

+1 "tar" ist ein Werkzeug, um * mehrere Dateien zu einer * zusammenzufassen. * Die Komprimierungsoptionen sind nur eine Bequemlichkeit, um sie * zusammen mit * `gzip` und dergleichen zu verwenden. l0b0 vor 7 Jahren 1