Monday, 15 January 2018

Creating extract custom function to extract files

As there are different file formats present for archiving and compressing files using different utilities. So, to make a uniform function for extracting those files can be helpful. Add the below piece of code in your .bash_profile or .profile file present in home directory to extract the data.



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