Extract filename UNIX all in one

Add this to your ~/.bashrc

extract () {
    if [ -f $1 ] ; then
        case $1 in
            *.tar.bz2)  tar xvjf $1 && cd $(basename "$1" .tar.bz2);;
            *.tar.gz)   tar xvzf $1 && cd $(basename "$1" .tar.gz);;
            *.tar.xz)   tar Jxvf $1 && cd $(basename "$1" .tar.xz);;
            *.bz2)      bunzip2 $1 && cd $(basename "$1" /bz2);;
            *.rar)      unrar x $1 && cd $(basename "$1" .rar);;
            *.gz)       gunzip $1 && cd $(basename "$1" .gz);;
            *.tar)      tar xvf $1 && cd $(basename "$1" .tar);;
            *.tbz2)     tar xvjf $1 && cd $(basename "$1" .tbz2);;
            *.tgz)      tar xvzf $1 && cd $(basename "$1" .tgz);;
            *.zip)      unzip $1 && cd $(basename "$1" .zip);;
            *.Z)        uncompress $1 && cd $(basename "$1" .Z);;
            *.7z)       7z x $1 && cd $(basename "$1" .7z);;
            *)          echo "don't know how to extract '$1'...";;
        esac
    else
        echo "'$1' is not a valid file!"
    fi
}

Now just type “extract filename” and you’re golden.

 July 6, 2012

 Blog | # #

qrcode
Facebook Facebook X / Twitter Twitter Telegram Telegram Pinterest Pinterest Email Email