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:
#!/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:
Respostas:
Para uma GUI, eu diria que a maneira mais fácil é um script nautilus. A linha principal seria:
Funciona no bash / dash com a mesma facilidade. No nautilus, a coisa toda seria assim:
fonte
Você pode simplesmente escrever um script bash. Vai parecer algo assim:
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:
você vai ter:
fonte
-r
bandeira aqui. Os arquivos zip não são diretórios, portanto não há como recursar.É 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-action
para automatizar o comando através de uma seleção da GUI.fonte
tar --delete-files
?