[Aporte] Descomprimí cualquier tipo de archivos con un solo comando

La terminal es una herramienta indispensable para todo Linuxero o para aquel que quiera saber usar GNU/linux, tal como lo expreso en otro post. Es por eso que hoy les traigo una gran herramienta que nos ayuda mucho cuando estamos usando la terminal y no nos queremos salir de ella para algo tan simple como descomprimir un archivo.

Navegando por la red me encontré con scripts bastante interesantes que nos ayudan a resolver algunas cuestiones de manera muy pero muy simple.
Este es el caso del script que les traigo hoy que nos permite con un solo comando poder extraer cualquier tipo de archivo comprimido.

El script es el siguiente:

extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.tar.xz) tar Jxvf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $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 ;;
*) echo “nada para extraer ‘$1’…” ;;
esac
else
echo “‘$1’ no es un archivo valido!”
fi
}

Como ven, lo que hace el script es identificar el tipo de archivo comprimido y si coindice con alguno de los que está (creo que no falta ningún tipo mas) hace el paso de descompresión. Incluso si el archivo descomprimido ya existe (como el caso que muestro abajo) deja que el sistema pregunte si querés sobreescribirlo, reemplazarlo o cancelar.

La utilización del script es muy fácil, solo tenemos que editar nuestro archivo .bashrc que está en nuestra /home y abajo de todo (para mas comodidad y no tocar nada ya escrito) ponemos el script.

extraer_en_un_solo_comando

Su funcionamiento es tan sencillo que puedo mostrarlo en una captura de pantalla:

extraer_en_un_solo_comando2

Para que el script funcione una vez que lo hayamos pegado en el archivo .bashrc (y guardado, obviamente), tenemos que por lo menos desloguearnos y volvernos a loguear asi la config de bash se reestablece tomando la funcion extract. También podemos escribir en la terminal “source ~/.bashrc” (sin comillas) y nos ahorramos el relogueo del sistema. (Gracias a @rawBasic por el dato).

Espero que les sirva y que nos comenten cuanto usan la terminal para estas cosas.

6 thoughts on “[Aporte] Descomprimí cualquier tipo de archivos con un solo comando

  1. rawBasic 9 enero, 2016 / 6:12 PM

    Super útil.. ..gracias por compartir..

    En vez de uno tener que desloguearse se puede hacer ‘source ~/.bashrc’ .. Saludos.

    Me gusta

  2. fernandofvh 18 enero, 2016 / 10:02 AM

    Hola NeoRanger. Que resulta que estoy probando a ver cómo funciona el invento este y no me sale. Ya sabes que a torpecillo no me gana nadie. Si por ejemplo quisiera extraer el programa sopcast-player-0.8.5.tar.gz ¿Qué tendría que hacer?.

    Me gusta

    • NeoRanger 18 enero, 2016 / 10:13 AM

      Hola Fernando. Te explico como tenes que hacer.
      Una vez que hayas agregado el script al archivo .bashrc de tu home (acordate que esta oculto). Debes o bien cerrar sesion y volver a abrirla o como dijo @rawBasic desde terminal haces “source ~/.bashrc” (sin las comillas) y vas a poder usar el comando.
      Te sugiero que en una terminal pongas solo las 2 primeras letras del comando, si se autocompleta es porque el sistema lo ha reconocido como comando del sistema.

      Y nada mas, su uso es facil: extract “archivo_a_descomprimir” / Por ejemplo: extract sopcast-player-0.8.5.tar.gz

      Cabe destacar que tenes que tener los paquetes pertinentes instalados para cada tipo de archivo, es decir, que si queres descomprimir un archivo 7z, deberas tener instalado el paquete de acuerdo a tu distribucion (los nombres no suelen cambiar pero mejor es fijarse).

      Tambien si en el archivo .bashrc le cambiaste el nombre de la funcion de “extract” a “extraer” o “descomprimir”, tenes que usar tal cual lo pusiste ahi.

      Cualquier cosa me respondes, saludos!!

      Me gusta

      • fernandofvh 18 enero, 2016 / 4:19 PM

        Muchísimas gracias. En cuanto pueda lo pruebo y te digo.

        Me gusta

Dejame un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s