web-dev-qa-db-fra.com

Existe-t-il un moyen "d'extraire et de supprimer un fichier Zip" en une seule commande?

Existe-t-il un moyen (préférable via l'interface graphique, mais éventuellement via la ligne de commande) d'extraire un fichier Zip et de supprimer le fichier Zip après son extraction, le tout en une seule commande?

(Je me souviens avoir vu quelqu'un faire quelque chose comme ça un jour dans la ligne de commande)

10
Tom Brito

Pour une interface graphique, je dirais que le moyen le plus simple est d'utiliser un script Nautilus. La ligne principale de ce qui serait:

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

Cela fonctionne aussi facilement en bash/dash. Dans nautilus, le tout ressemblerait à ceci:

unzip delete nautilus script

#!/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
12
con-f-use

Vous pouvez simplement écrire un script bash. Cela ressemblera à ceci:

unzip $1 && rm $1

où $ 1 est l'argument avec une valeur du nom de fichier de votre fichier Zip. Puis alias décompressez la commande dans le fichier ~/.bashrc pour exécuter ce script. Et après avoir tapé dans le terminal:

unzip test.Zip

tu auras:

unzip test.Zip && rm test.Zip
10
Mateusz

C'est assez facile avec une commande Shell:

unzip <filename>.Zip && rm <filename>.Zip

Si vous utilisez Nautilus, vous pourriez peut-être créer un nautilus-action pertinent afin d'automatiser la commande via une sélection d'interface graphique.

4
Pavlos G.