[unpkg] Descompacte fácilmente en la consola

Tengo que admitir que soy tilín vago para descompactar en la consola. Nunca me he aprendido al 100% cuales son los parámetros u opciones que hay que pasarle a tar” para que pueda descompactarme un archivo bzip2” o de otro tipo, pero googleando hace algunos días llegué a este foro y había un post casualmente que tomé para aplicármelo y a raíz de eso, hacerle alguna que otra modificación, siempre reutilizando, nunca reinventando y agradeciendo al que hizo el aporte. Gracias, CrunchBang fórum.

En el post decía como crear en tu una función que descompactara todo tipo de archivo que ella reconociera, pero eso a mí me parecía algo complicado, y sobre todo al usuario “novel”, por lo que decidí hacer algo más fácil, un script que haga la misma función, y no sea tan difícil de entender, al final del cuento de eso de se trata el post, o no? xD

Primero que todo, debemos saber y conocer cuáles son los archivos compactados que más se usan actualmente. Los candidatos son “.tar, .bzip, .rar, .zip, .7z y .Z”, así como sus combinaciones en el caso de que existan “.tar.bz2, .tar.gz” por sólo mencionar un par de ejemplos.

También debemos conocer la forma de instalarlos no importa cuál sea la distribución de GNU/Linux que usted use. En mi caso que uso Debian se hace de la siguiente manera:
apt-get install tar bzip2 gzip unrar rar p7zip-full

Ahora bien, ya tenemos los ingredientes, solo falta mezclarlos en la debida proporción para obtener el plato xD. Al script yo lo llamé unpkg”, se encuentra o yo lo dejaré en /usr/bin/”y su trabajo es descompactar todo lo que le pasemos como parámetros, es decir, que le pueden dar 2 o más archivos y él los descompactará sin ningún tipo de problema, algo así como:

unpkg onion_omelette.rar breakfast_cofee.tar.bz2 cook_recipes.7z

Veamos entonces el script:
[code] #!/bin/bash
for pkg in $*; do
if [ -f $pkg ] ; then
case $pkg in
*.tar.bz2) tar xvjf $pkg ;;
*.tar.gz) tar xvzf $pkg ;;
*.bz2) bunzip2 $pkg ;;
*.rar) rar x $pkg ;;
*.gz) gunzip $pkg ;;
*.tar) tar xvf $pkg ;;
*.tbz2) tar xvjf $pkg ;;
*.tgz) tar xvzf $pkg ;;
*.zip) unzip $pkg ;;
*.Z) uncompress $pkg ;;
*.7z) 7z x $pkg ;;
*) echo “‘$pkg’ is a packaged file? Don’t know what to do, exiting.” ;;
esac
fi
done
[/code]

¿Se dan cuenta? No hizo falta de ningún tipo explicar lo que hacía el archivo. Entonces muchachos, nos vemos en algún próximo post aquí.

Comparte para difundir

Si te ha gustado nuestro contenido ahora puedes ayudar a difundirlo en las redes sociales de manera sencilla usando los siguientes botones:

Envía
Pinea
Print


Nadando en aguas linuxeras desde el 2001-2002 con un RedHat 7.2. He pasado por muchas distros, pero me mantengo entre Slackware y Debian. Amo la línea de comandos, el software libre y toda cultura geek asociada. Friky deathmetalero, el primero siempre en ayudar o dar ideas, programador de PHP y alguito de Python. Linux user: 445535. Actualmente Técnico en Electrónica y Administrador de Red.

7 comentarios

  1.   XunilinuX dijo

    Muy buen aporte!!!
    Uso el Xarchiver que hasta ahora no me dio ningun problema. Pero me guardo este script por las dudas, uno nunca sabe cuando lo puede llegar a necesitar…
    Gracias!!

  2.   luchoz dijo

    Muy útil, me va a servir mucho!

  3.   Koratsuki dijo

    Seguro, @luchoz y @XunilinuX, un tip que nunca está de más…

  4.   facer dijo

    Excelente!!! gracias

  5.   Gato dijo

    muy bueno gracias 😀

  6.   AurosZx dijo

    Es bueno tener esto a la mano 🙂 Así no se necesitan programas por separado…

  7.   Gongui dijo

    Muy bueno! Justo lo que estaba buscando 🙂

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.