summaryrefslogtreecommitdiffstats
path: root/.scripts/extract
blob: eccb5ef0d6c2c8a91b74bb2a35141ded85d4b0c1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
# there are two different ways this script can work.
# for the first way, uncomment the two lines after the if and place two '.' in front of the /$1 
#       this creates a new directory in the directory where the compressed file is and dumps the content in it
# for the second way, comment the two lines under the if and place just one '.' in front of the /$1
#       this just dumps the content of the compressed file in the same directory of the compressed file 
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