Decompress many

From SlackWiki
Jump to: navigation, search
#Bash function to decompress (unarchive) may formats.
function unarc()
{
  if [ -f $1 ]; then
    case $1 in
      *.tar.*) tar xvf $1;;
      *.bz2) bunzip2 $1;;
      *.gz) gunzip $1;;
      *.jar) jar xvf $1;;
      *.lha) lha e $1;;
      *.tar) tar xvf $1;;
      *.tar.bz2) tar xvf $1;;
      *.tar.gz) tar xvf $1;;
      *.tar.xz) tar xvf $1;;
      *.tar.Z) tar xvf $1;;
      *.rar) rar x $1;;
      *.7z) 7z x $1;;
      *.tbz2) tar xvf $1;;
      *.tgz) tar xvf $1;;
      *.txz) tar xvf $1;;
      *.xz) unxz $1;;
      *.Z) uncompress $1;;
      *.zip) unzip $1;;
      *) echo '"$1" cannot be extracted.';;
    esac
  else echo '"1" cannot be extracted.';
  fi
}