#!/usr/bin/env bash if [ -f $1 ] ; then case $1 in *.tar.bz2) tar -xvjf $1 --one-top-level ;; *.tar.gz) tar -xvzf $1 --one-top-level ;; # *.bz2) bunzip2 $1 ;; *.rar) unrar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; # *.Z) uncompress $1;; # * .7z) 7z x $1 ;; *.deb) ar x $1 ;; *.tar.xz) tar xf $1 ;; *.tar.zst) tar xf $1 ;; *) echo "'$1' cannot be extracted" ;; esac else echo "'$1' is not a valid file" fi