De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Rubens Queiroz de Almeida
Data de Publicação: 02 de fevereiro de 2015
Existem diversos aplicativos para compactação de arquivos. Para cada um deles, o usuário precisa se lembrar da sintaxe e de outros detalhes, para conseguir descompactar os arquivos com sucesso.
Os comandos tar e gzip/gunzip, normalmente são instalados por padrão. Já
para outros formatos é preciso instalar o software correspondente, como por
exemplo, zip/unzip, rar/unrar, etc.
Para simplificar o processo de descompactação, podemos criar uma função, que realiza a descompactação de forma automatizada, sem a necessidade de nos lembrarmos de sua sintaxe.
Eu dei a este script um nome bem simples e sugestivo, apenas x, de
eXtract. Não se esqueça, para tudo funcionar, todos os programas
devem ser instalados previamente. Mas podem chamar também de extract.sh.
#!/bin/bash
# function Extract for common file formats
function extract {
if [ -z "$1" ]; then
# display usage if no parameters given
echo "Usage: extract ."
else
if [ -f "$1" ] ; then
# NAME=${1%.*}
# mkdir $NAME && cd $NAME
case "$1" in
*.tar.bz2) tar xvjf ../"$1" ;;
*.tar.gz) tar xvzf ../"$1" ;;
*.tar.xz) tar xvJf ../"$1" ;;
*.lzma) unlzma ../"$1" ;;
*.bz2) bunzip2 ../"$1" ;;
*.rar) unrar x -ad ../"$1" ;;
*.gz) gunzip ../"$1" ;;
*.tar) tar xvf ../"$1" ;;
*.tbz2) tar xvjf ../"$1" ;;
*.tgz) tar xvzf ../"$1" ;;
*.zip) unzip ../"$1" ;;
*.Z) uncompress ../"$1" ;;
*.7z) 7z x ../"$1" ;;
*.xz) unxz ../"$1" ;;
*.exe) cabextract ../"$1" ;;
*) echo "extract: '$1' - unknown archive method" ;;
esac
else
echo "'$1' - file does not exist"
fi
fi
}
extract $1
A função é de autoria de Vitalii Tereshchuk.