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- Datei erstellen :
zipedit(){ echo "Usage: zipedit archive.zip file.txt" unzip "$1" "$2" -d /tmp vi /tmp/$2 && zip -j --update "$1" "/tmp/$2" }
Wie es heißt, ist die Verwendung:
zipedit myarchive.zip myfile.txt
Dies entpackt die benannte Datei aus dem Archiv, speichert sie in /tmp
, bearbeitet sie vi
und fügt sie dem Archiv zurück, während der Pfad "weggeworfen" wird. Fügen Sie Ihrem .bash_profile hinzu, vorausgesetzt, dass bash
...
BEARBEITEN: Unten ist eine Version, die mit Unterordnern im Archiv arbeitet ... Beachten Sie, verwenden Sie keinen Schrägstrich vor dem Namen des Ordners (verwenden Sie also myfolder/file.txt
nicht /myfolder/file.txt
). Wenn Sie eine Datei bearbeiten, die noch nicht im Archiv vorhanden ist, wird sie für Sie erstellt. Auch nicht sicher, ob es mit dem absoluten Pfad zur ZIP-Datei funktioniert. Am besten bleiben Sie bei Verwandten.
zipedit(){ echo "Usage: zipedit archive.zip folder/file.txt" curdir=$(pwd) unzip "$1" "$2" -d /tmp cd /tmp vi "$2" && zip --update "$curdir/$1" "$2" # remove this line to just keep overwriting files in /tmp rm -f "$2" # or remove -f if you want to confirm cd "$curdir" }
Danke für die Frage. Ich werde wahrscheinlich auch dieses verwenden!
Noch eine Bearbeitung: Ungetestet, aber ich lese das vim
und emacs
werde beide JAR-Dateien direkt bearbeiten?