#!/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