Есть ли способ «извлечь и удалить ZIP-файл» в одной команде?

13

Есть ли способ (предпочтительно через GUI, но может быть через командную строку), чтобы извлечь файл ZIP и удалить ZIP после извлечения, все в одной команде?

(Я помню, что однажды видел, как кто-то делает что-то подобное в командной строке)

Том Брито
источник
Я не знаю ни одной команды, но вы можете поставить в очередь вторую команду. распаковать 1.zip; rm 1.zip
Амей Джа

Ответы:

13

Для графического интерфейса я бы сказал, что самый простой способ - это скрипт наутилуса. Основная линия которого будет:

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

Это работает в Bash / Dash так же просто. В Наутилусе все это будет выглядеть так:

распаковать удалить скрипт наутилус

#!/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
кон-е использование
источник
Не то, что я видел, но это работает. В любом случае, спасибо!
Том Брито
10

Вы можете просто написать скрипт bash. Это будет выглядеть примерно так:

unzip $1 && rm $1

где $ 1 - аргумент со значением имени файла вашего zip-файла. Затем введите псевдоним unzip в файле ~ / .bashrc для запуска этого скрипта. И после ввода в терминале:

unzip test.zip

ты получишь:

unzip test.zip && rm test.zip
Матеуш
источник
2
Там нет необходимости для -rфлага здесь. Zip-файлы не являются каталогами, поэтому в них нечего копировать.
Тревор Меррифилд
4

Это довольно легко с помощью команды оболочки:

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

Возможно, если вы используете nautilus, вы могли бы создать соответствующий nautilus-action, чтобы автоматизировать команду через выбор GUI.

Павлос Г.
источник
да, на самом деле это две команды в одной строке ... Я действительно пытаюсь вспомнить одну команду, которую я видел, кто-то использовал ..
Том Брито
Я не понимаю, как это важно, будь то одна или две команды. Вы уверены, что он использовал псевдоним или фактически сжимал и использовал tar --delete-files?
con-f-use