
Me ha dado por modificarlo porque hacía bastante ya que no lo usaba, usaba 7zip por vago o comodo o lo que sea y por que el script me regaba todo el contenido del paquete comprimido allí donde estaba, y muchas veces hay lio y rebujinas con las demás cosas que ya estaban en la carpeta así que lo he modificado para que cree una carpeta y lo coloque todo dentro de ella.
Basta con que copieis esto dentro de vuestro .bashrc al final del todo
Aquí el script
#script para descomprimir dmaciasblog.com
#mas info en www.dmaciasblog.com/script-para-descomprimir-por-terminal/
descomprime () {
if [ -f $1 ] ; then
directorio=$(basename $(basename «$1» .zip) .zip)
directorio2=$(basename $(basename «$1» .tbz2) .tar.bz2)
directorio3=$(basename $(basename «$1» .tgz) .tar.gz)
directorio4=$(basename $(basename «$1» .rar) .rar)
directorio5=$(basename $(basename «$1» .gz) .gz)
directorio6=$(basename $(basename «$1» .tar) .tar)
case $1 in
*.tar.bz2) mkdir «$directorio2» | tar xvjf «$1» -C «$directorio2» ;;
*.tar.gz) mkdir «$directorio3» | tar zxvf «$1» -C «$directorio3» ;;
*.bz2) bunzip2 $1 ;;
*.rar) mkdir «$directorio4» | unrar x «$1» -r «$directorio4» ;;
*.gz) mkdir «$directorio5» | tar zxvf «$1» -C «$directorio5» ;;
*.tar) mkdir «$directorio6» | tar xvf «$1» -C «$directorio6» ;;
*.tbz2) mkdir «$directorio2» | tar xvjf «$1» -C «$directorio2» ;;
*.tgz) mkdir «$directorio3» | tar zxvf «$1» -C «$directorio3» ;;
*.zip) mkdir «$directorio» | unzip $1 -d «$directorio» ;;
*.Z) uncompress $1 ;;
*.7z) 7z x «$1» ;;
*) echo “No se puede extraer ‘$1?…” ;;
esac
else
echo “‘$1? No es un archivo valido”
fi
}
Y para usarlo un simple
descomprime archivo-a-descomprimir.zip.rar.tar.etc….
Seguro que hay una forma mas elegante y correcta de hacerlo, pero esta es la mia 😛 . Quizás algún dia me ponga y haga otro similar para comprimir. Por lo pronto mi 7zip a la basura que ya no lo necesito.
Pingback: Bitacoras.com