Advertisement
marcoshalano

extract.sh

Nov 28th, 2014
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.32 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. # extract.sh by Marcos Alano <marcos at marcosalano dot me>
  4. # Extract multiple files simultaneously.
  5. # Based on https://stackoverflow.com/questions/22902213/all-in-one-unarchive-bash-script-linux
  6.  
  7.  if [ -z "$1" ]; then
  8.     # display usage if no parameters given
  9.     echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
  10.  else
  11.     for i in "$@" ; do
  12.        if [ -f "$i" ] ; then
  13.            case "$i" in
  14.              *.tar.bz2)   tar xvjf "$i"    ;;
  15.              *.tar.gz)    tar xvzf "$i"    ;;
  16.              *.tar.xz)    tar xvJf "$i"    ;;
  17.              *.lzma)      unlzma "$i"      ;;
  18.              *.bz2)       bunzip2 "$i"     ;;
  19.              *.rar)       unrar x "$i"     ;;
  20.              *.gz)        gunzip "$i"      ;;
  21.              *.tar)       tar xvf "$i"     ;;
  22.              *.tbz2)      tar xvjf "$i"    ;;
  23.              *.tgz)       tar xvzf "$i"    ;;
  24.              *.zip)       unzip "$i"       ;;
  25.              *.Z)         uncompress "$i"  ;;
  26.              *.7z)        7z x "$i"        ;;
  27.              *.xz)        unxz "$i"        ;;
  28.              *.exe)       cabextract "$i"  ;;
  29.              *)           echo "extract: '$i' - unknown archive method" ;;
  30.            esac
  31.        else
  32.            echo "$i - file doesn't exist"
  33.        fi
  34.     done
  35. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement