¿Hay alguna manera de "extraer y eliminar el archivo zip" en un solo comando?

13

¿Hay alguna manera (preferible a través de la GUI, pero puede ser a través de la línea de comandos) para extraer un archivo zip y eliminar el zip después de extraerlo, todo en un solo comando?

(Recuerdo que un día vi a alguien haciendo algo como esto en la línea de comando)

Tom Brito
fuente
No conozco un solo comando, pero puede poner en cola el segundo comando. descomprimir 1.zip; rm 1.zip
Amey Jah

Respuestas:

13

Para una GUI, diría que la forma más fácil es un script nautilus. La línea principal de las cuales sería:

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

Funciona en bash / dash igual de fácil. En nautilus todo se vería así:

descomprimir eliminar 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
confundir
fuente
No es lo que vi, pero funciona. ¡Gracias de todos modos!
Tom Brito
10

Simplemente podrías escribir un script bash. Se verá algo como esto:

unzip $1 && rm $1

donde $ 1 es el argumento con un valor del nombre del archivo zip. Luego, alias descomprima el comando en el archivo ~ / .bashrc para ejecutar este script. Y después de escribir en la terminal:

unzip test.zip

conseguirás:

unzip test.zip && rm test.zip
Mateusz
fuente
2
No hay necesidad de la -rbandera aquí. Los archivos Zip no son directorios, por lo que no hay nada en lo que recurrir.
Trevor Merrifield
4

Es bastante fácil a través de un comando de shell:

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

Quizás, si está utilizando nautilus, podría crear un relevante nautilus-actionpara automatizar el comando a través de una selección de GUI.

Pavlos G.
fuente
sí, en realidad estos son 2 comandos en una sola línea ... Realmente estoy tratando de recordar el comando único que vi a alguien usar ...
Tom Brito
No veo cómo importa si es uno o dos comandos. ¿Estás seguro de que usó un alias o de hecho se comprimió y usó tar --delete-files?
con-f-use