extract ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
Comments
Just add this to your .bashrc/.zshrc.
all the $1 here should be quoted as "$1", just in case if it gets a file with space in the name.
Similarly: https://github.com/dcat/dotfiles/blob/master/.sh.d/functions...
If you have 7z, do you need most of the others? 7z seems like it might process all of the others listed here.