de LinuxmanR4, 3 años han pasado desde su publicación, escrito en Bash.
  1. # Autor: Hmoss
  2. #
  3. # Descomprime de forma masiva ficheros.
  4. #
  5. # Formato: ex2 .ext /ruta/  dir
  6. # Ejemplo: ex2 .rar /home/user/ descom
  7. #
  8. # ex2 es el nombre de la función, .rar es la extensión, "/home/user"  directorio que contiene los archivos
  9. # comprimidos en rar, y "descom" nombre que se le asigna al directorio que
  10. # contendrá los archivos descomprimidos.
  11. #
  12. # Copia el código en tu .bashrc
  13. #
  14. # NOTA: En el ejemplo anterio la función crea el directorio  "descom"
  15. # en el mismo directorio que contiene los archivos comprimidos; en el ejemplo anterios sería en /home/user
  16. #
  17. # Se puede extender a más extensiones.
  18.    
  19.    
  20.    
  21. ex2 (){
  22.  
  23.    Ext=$1
  24.    Rta=$2
  25.    Drio=$3
  26.    Cno="$Rta/*$Ext"
  27.  
  28.   if [ -d "$Rta" ]; then
  29.        mkdir $Rta/$Drio
  30.        Dno=$Rta/$Drio
  31.  
  32.        for i in $Cno; do
  33.              case $i in
  34.                 *.zip)  unzip   $i -d  $Dno ;;
  35.                 *.rar)  unrar x   $i     $Dno ;;
  36.                 *.tar)  tar xf  $i -C  $Dno ;;
  37.              *.tar.gz)  tar xzf $i -C  $Dno ;;
  38.                 *.tgz)  tar xzf $i -C  $Dno ;;
  39.                *.tbz2)  tar xjf $i -C  $Dno ;;
  40.                     *)  echo "$Ext es una extension no reconocida" ;;
  41.              esac
  42.       done
  43.  
  44.   else
  45.        echo "Error de ejecucion, revise los argumentos sumistrados"
  46.   fi
  47.  
  48.  }