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)
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)
Respostas:
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
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
-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.
tar --delete-files
?