Manchmal muss ich Änderungen an einer .zip- oder .jar-Datei vornehmen, daher verschiebe ich die Datei normalerweise nach /tmp
, extrahiere alle Dateien mit unzip
, bearbeite einige Dateien und komprimiere die Dateien erneut. Das funktioniert, aber es kann mühsam sein. Gibt es ein Hilfsprogramm oder ein Shell-Skript, mit dem ich eine Datei in einer Zip-Datei bearbeiten kann, ohne explizit unzip
und aufzurufen zip
(auch wenn es sich nur um einen Wrapper um diese Befehle handelt)?
47
Antworten:
Kennen Sie den Namen der Datei im Archiv, bevor Sie sie entpacken? Sie können eine Funktion zum Entpacken
/tmp
, Bearbeiten und Aktualisieren der Zip erstellen :Wie es heißt, ist die Verwendung:
Dies entpackt die benannte Datei aus dem Archiv, speichert sie dort
/tmp
, bearbeitet sie dortvi
und fügt sie dann wieder dem Archiv hinzu, während der Pfad "blockiert" wird. Fügen Sie Ihrem .bash_profil hinzu, vorausgesetztbash
...BEARBEITEN: Nachfolgend finden Sie eine Version, die mit Unterordnern im Archiv funktioniert. Beachten Sie, dass Sie keinen Schrägstrich vor dem Namen des Ordners verwenden (dh
myfolder/file.txt
nicht verwenden/myfolder/file.txt
). Wenn Sie eine Datei bearbeiten, die noch nicht im Archiv vorhanden ist, wird sie für Sie erstellt. Ich bin mir auch nicht sicher, ob es mit dem absoluten Pfad zur Zip-Datei funktioniert. Am besten bei Verwandten bleiben.Danke für die Frage. Ich werde wahrscheinlich auch dieses verwenden!
Eine andere Bearbeitung: Ungetestet, aber ich habe das gelesen
vim
undemacs
werden beide JAR-Dateien direkt bearbeiten?quelle
Vim unterstützt das transparente Bearbeiten von Dateien in ZIP-Dateien. Führen Sie einfach Folgendes aus:
vim file.zip
und Ihnen wird eine Liste der Dateien im zip-Archiv angezeigt. Wählen Sie das zu bearbeitende aus, ändern Sie die gewünschten Einstellungen und beenden Sie das Programm mit: x
Wenn
vim
antwortet mit:.. einfach ausführen
:set modifiable
oder:set ma
(Quelle: https://stackoverflow.com/questions/5745506/vim-modifiable-is-off )quelle
Kurze Antwort: NEIN.
Wenn es ein Wrapper ist, Sie werden fordern diese Befehle. Wie auch immer, das Beste, was ich mir vorstellen kann, ist, die Datei
file-roller
in einer X-Umgebung mit einem einfachen Doppelklick zu öffnen. Dies hängt von Ihrem Setup ab. Sie können dann auf die komprimierte Datei doppelklicken, um sie zu öffnen, und sie dann bearbeiten:Wenn Sie Ihre bearbeitete Datei speichern, sollten Sie diesen Dialog erhalten:
Sie könnten auch ein Skript dafür erstellen, aber das wird kompliziert, wenn Sie Archive komprimiert haben, die mehrere Dateien enthalten. Lassen Sie mich wissen, ob Sie das brauchen, und ich kann Ihnen vielleicht etwas einfallen lassen.
quelle
Kurze umständliche Antwort; Nein. Wenn Sie an Komprimierung denken, verwenden Sie Redundanz, um die darin enthaltenen Dateien zu verkürzen, sodass bei jeder Bearbeitung die gesamte Datei im Archiv, möglicherweise auch das Archiv, geändert wird.
Wenn Sie weniger theoretisch, praktischer und "Ich möchte nicht manuell entpacken / zip" sind, gibt es Tools, die Sie verwenden können. Ich habe ark unter Linux verwendet. Sie können das Archiv auch mit fuse-zip mounten , obwohl das wahrscheinlich mehr Arbeit ist als eine temporäre Datei.
quelle
fuse-zip
.Laut der Manpage für
zip
(Online-Version zum einfachen Nachschlagen: http://linux.die.net/man/1/zip ) hat derzip
Befehl ein-u
Flag, das wie folgt beschrieben wird:quelle
Mit dem Directory Opus 12-Dateimanager können Sie die ZIP-Datei durchsuchen, dann die bearbeitete Datei aus einem anderen Ordner in diesen ziehen und die zu bearbeitende Datei überschreiben, und das alles im Handumdrehen. Sehr leicht
quelle
Ich habe ein Vim-Plugin geschrieben, das stock zip.vim erweitert, um verschachtelte Zip-Dateien zu durchsuchen und zu bearbeiten.
https://github.com/lbrayner/vim-rzip
quelle
Sie können einen Standard-KDE-Texteditor verwenden, zum Beispiel:
quelle