# bash function to decompress (unarchive) many 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
}