Existe uma maneira de "extrair e excluir arquivo zip" em um único comando?


13

Existe uma maneira (preferível via GUI, mas pode ser via linha de comando) extrair um arquivo zip e excluir o zip após a extração, tudo em um único comando?

(Lembro que vi alguém fazendo algo assim na linha de comando um dia)


Não estou ciente do comando único, mas você pode enfileirar o segundo comando. descompacte 1.zip; rm 1.zip
— Amey Jah

Respostas:


13

Para uma GUI, eu diria que a maneira mais fácil é um script nautilus. A linha principal seria:

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

Funciona no bash / dash com a mesma facilidade. No nautilus, a coisa toda seria assim:

descompacte excluir 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

Não é o que eu vi, mas funciona. De qualquer forma, obrigado!
— Tom Brito

10

Você pode simplesmente escrever um script bash. Vai parecer algo assim:

unzip $1 && rm $1

onde $ 1 é o argumento com um valor do nome do arquivo do seu arquivo zip. Em seguida, alias descompacte o comando no arquivo ~ / .bashrc para executar este script. E depois de digitar o terminal:

unzip test.zip

você vai ter:

unzip test.zip && rm test.zip

2
Não há necessidade da -rbandeira aqui. Os arquivos zip não são diretórios, portanto não há como recursar.
— Trevor Merrifield

4

É bem fácil através de um comando shell:

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

Talvez, se você estiver usando o nautilus, possa criar um relevante nautilus-actionpara automatizar o comando através de uma seleção da GUI.


sim, na verdade, estes são 2 comandos em uma única linha .. Eu realmente estou tentando lembrar o único comando que vi alguém uso ..
— Tom Brito

Não vejo como isso importa, seja um ou dois comandos. Tem certeza de que ele usou um pseudônimo ou foi de fato compactado e usado tar --delete-files?
— con-f-use
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.