Is there a way "extract and delete zip file" in a single command?

For a GUI I'd say the easiest way is a nautilus script. The main line of which would be:

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

It works in bash/dash just as easy. In nautilus the whole thing would look like this:

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

You could simply write a bash script. It will look something like this:

unzip $1 && rm $1

where $1 is the argument with a value of your zip file's filename. Then alias unzip command in ~/.bashrc file to run this script. And after typing in terminal:

unzip test.zip

you will get:

unzip test.zip && rm test.zip

It's pretty easy through a shell command:

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

Perhaps, if you're using nautilus, you could create a relevant nautilus-action in order to automate the command through a GUI selection.

Tags:

Zip