Existe-t-il un moyen «d'extraire et de supprimer un fichier zip» dans une seule commande?

13

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

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

Tom Brito
la source
Je ne connais pas de commande unique mais vous pouvez mettre en file d'attente la deuxième commande. décompressez 1.zip; rm 1.zip
Amey Jah

Réponses:

13

Pour une interface graphique, je dirais que le moyen le plus simple est un script nautilus. Dont la ligne principale serait:

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

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

décompressez le script nautilus

#!/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
embrouiller
la source
Pas ce que j'ai vu, mais ça marche. Quoi qu'il en soit, merci!
Tom Brito
10

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
Mateusz
la source
2
Il n'y a pas besoin du -rdrapeau ici. Les fichiers Zip ne sont pas des répertoires, il n'y a donc rien à reculer.
Trevor Merrifield
4

C'est assez simple grâce à une commande shell:

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

Peut-être, si vous utilisez nautilus, vous pouvez créer un élément pertinent nautilus-actionafin d'automatiser la commande via une sélection d'interface graphique.

Pavlos G.
la source
oui, en fait, ce sont 2 commandes sur une seule ligne .. J'essaie vraiment de me souvenir de la seule commande que j'ai vu quelqu'un utiliser ..
Tom Brito
Je ne vois pas comment cela importe, que ce soit un ou deux commandements. Vous êtes sûr qu'il a utilisé un alias ou était en fait compressé et utilisé tar --delete-files?
con-f-use