Gibt es eine Möglichkeit, die Zip-Datei in einem einzigen Befehl zu extrahieren und zu löschen?

12

Gibt es eine Möglichkeit (vorzuziehen über die GUI, aber möglicherweise über die Befehlszeile), eine Zip-Datei zu extrahieren und die Zip nach dem Extrahieren in einem einzigen Befehl zu löschen?

(Ich erinnere mich, dass ich eines Tages jemanden gesehen habe, der so etwas in der Kommandozeile gemacht hat)

Tom Brito
quelle
Mir ist kein einzelner Befehl bekannt, aber Sie können den zweiten Befehl in die Warteschlange stellen. entpacken 1.zip; rm 1.zip
Amey Jah

Antworten:

12

Für eine GUI würde ich sagen, dass der einfachste Weg ein Nautilus-Skript ist. Die Hauptlinie davon wäre:

unzip "$item" && trash "$item"

Es funktioniert in Bash / Dash genauso einfach. In Nautilus würde das Ganze so aussehen:

Entpacken Löschen Sie das Nautilus-Skript

#!/bin/bash
# Nautilus script to unzip and then remove a zip archive.
# Nautilus script usually go in "$HOME/.gnome2/nautilus-scripts"

IFS='
'
for item in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
    if [ -n "$(file -b "$item" | grep -o 'Zip')" ]; then
        unzip "$item" && trash "$item"
        # use trash instead of rm to move them to trash
        # (trash-cli package installed)
    fi
done
verwechseln
quelle
Nicht das, was ich gesehen habe, aber es funktioniert. Trotzdem danke!
Tom Brito
10

Sie könnten einfach ein Bash-Skript schreiben. Es wird ungefähr so ​​aussehen:

unzip $1 && rm $1

Dabei ist $ 1 das Argument mit dem Wert des Dateinamens Ihrer Zip-Datei. Führen Sie dann den Befehl alias unzip in der Datei ~ / .bashrc aus, um dieses Skript auszuführen. Und nach dem Eingeben des Terminals:

unzip test.zip

Sie erhalten:

unzip test.zip && rm test.zip
Mateusz
quelle
2
Die -rFlagge ist hier nicht erforderlich . Zip-Dateien sind keine Verzeichnisse, daher gibt es nichts, in das man zurückgreifen kann.
Trevor Merrifield
4

Es ist ziemlich einfach durch einen Shell-Befehl:

unzip <filename>.zip && rm <filename>.zip

Wenn Sie Nautilus verwenden, können Sie möglicherweise einen relevanten nautilus-actionBefehl erstellen, um den Befehl über eine GUI-Auswahl zu automatisieren.

Pavlos G.
quelle
Ja, eigentlich sind dies 2 Befehle in einer einzigen Zeile. Ich versuche wirklich, mich an den einzelnen Befehl zu erinnern, den jemand verwendet hat.
Tom Brito
Ich verstehe nicht, wie wichtig es ist, ob es sich um einen oder zwei Befehle handelt. Bist du sicher, dass er einen Alias ​​verwendet hat oder tatsächlich komprimiert und verwendet hat tar --delete-files?
con-f-use