Untitled

mail@pastecode.io avatar
unknown
plain_text
7 months ago
1.1 kB
1
Indexable
Never
function extract {
 if [ -z "$1" ]; then
    # display usage if no parameters given
    echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
 else
    if [ -f $1 ] ; then
        # NAME=${1%.*}
        # mkdir $NAME && cd $NAME
        case $1 in
          *.tar.bz2)   tar xvjf ./$1    ;;  
          *.tar.gz)    tar xvzf ./$1    ;;  
          *.tar.xz)    tar xvJf ./$1    ;;  
          *.lzma)      unlzma ./$1      ;;  
          *.bz2)       bunzip2 ./$1     ;;  
          *.rar)       unrar x -ad ./$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        ;;  
          *.xz)        unxz ./$1        ;;  
          *.exe)       cabextract ./$1  ;;  
          *)           echo "extract: '$1' - unknown archive method" ;;
        esac
    else
        echo "$1 - file does not exist"
    fi  
fi
}