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í.
7 comentarios, deja el tuyo
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!!
Muy útil, me va a servir mucho!
Seguro, @luchoz y @XunilinuX, un tip que nunca está de más…
Excelente!!! gracias
muy bueno gracias 😀
Es bueno tener esto a la mano 🙂 Así no se necesitan programas por separado…
Muy bueno! Justo lo que estaba buscando 🙂