Lesen Sie den Inhalt einer Zip-Datei ohne Extraktion?

Wie kann ich den Inhalt einer bestimmten Datei in einem Archiv lesen, ohne die zu extrahieren .zip es innerhalb enthalten ist? Ich benutze die Linux-Befehlszeile.

Eine frühere Frage fragt nach dem Anzeigen des Verzeichnisses des Archivs. Aber für mich ist es nicht genug, nur eine Liste der Dateien im Archiv zu sehen, ich muss den Inhalt einer Datei im Archiv sehen.

 189
Author: kasperd, 2012-08-17

8 answers

unzip -l archive.zip listet den Inhalt eines ZIP-Archivs auf, um sicherzustellen, dass sich Ihre Datei darin befindet.

Verwenden Sie die Option -p, um den Inhalt benannter Dateien in stdout (screen) zu schreiben, ohne das gesamte Archiv entpacken zu müssen.

unzip -p archive.zip file1.txt | less

Für diese Art von Operation führe ich die Ausgabe immer zu less, sonst fliegt die gesamte Datei den Bildschirm hoch, bevor Sie sie lesen können.

BTW zcat ist ideal für die Anzeige der Inhalte .gz-Dateien, ohne sie entpacken zu müssen erst.

Bearbeiten: Diese Antwort wurde geändert, um -p anstelle von -c zu verwenden. -p extrahiert die Datei Byte für Byte, während -c den Dateinamen druckt und möglicherweise eine EOL-Konvertierung durchführt. Außerdem können Sie mit unzip -p mehrere Dateien extrahieren, sie werden jedoch nicht in der angegebenen Reihenfolge ausgegeben, wie dies bei cat der Fall ist.

 246
Author: danielcraigie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-08-02 17:13:35

zipinfo ist ein anderes Werkzeug, das Sie verwenden könnten, ist dies nützlich, wenn Sie auf einem gesperrten System sind, wo unzip nicht erlaubt ist.

 7
Author: Nickolai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-08-01 14:38:00

Wenn Sie nur Bilder in den Archiven anzeigen möchten, können Sie Comix oder neuer MComix verwenden, um Bilder darin zu sehen.zip, .rar, .cbr, und .cbz Dateien ohne zu extrahieren.

 4
Author: Kokizzu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-11-29 00:32:56

Starten Sie Emacs in der Befehlszeile und öffnen Sie Ihre ZIP-Dateien mit dem Modus Zip-Archive. Ohne Emacs / ELISP-Tuning (neue Benutzer befürchten im Allgemeinen) sehen Sie Dateidetails wie from zipinfo: modes, length, date, time

Dann können Sie Dateien in Puffern öffnen und Ihre Änderungen sogar mit Standardverknüpfungen im Archiv speichern:

  • Geben Sie einen Dateinamen in die Liste ein, um ihn zu öffnen
  • Bearbeiten und speichern mit Ctrl-x Ctrl-s
  • Kill-buffer - Ctrl-k gehen zurück zur Archiv-Puffer und weiter

Wenn Sie sich im Puffer Zip-Archive befinden, verwenden Sie Ctrl-h m, um alle in der Hilfeansicht verfügbaren Verknüpfungen abzurufen.

Hoffe, dies kann dazu führen, dass Sie Emacs awesome Features entdecken

 2
Author: Yves Martin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-09-10 10:20:32

Sie können verwenden vim um den Inhalt deszip/rar/tar archiv:

vim archive.zip

BTW: hier ist die gleiche Frage.

 2
Author: patryk.beza,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-02-13 15:44:23

Ein besserer Weg ist nur die Verwendung von zmore oder zless, zum Beispiel

zmore syslog.2.gz
 1
Author: user1137450,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-02-06 21:20:27

Ich habe less archive.zip als den einfachsten Weg gefunden, dies zu tun.

 0
Author: RobertMyles,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-04-25 09:21:15

Wenn die Datei im ZIP-Archiv enthalten ist, müssen Sie nur diese Datei aus dem Archiv extrahieren (kann vom Archivtyp abhängen, einige Archive können Dateien nicht separat extrahieren)

 -1
Author: blogger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-08-17 10:46:21