Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- extract() {
- if [ -f $1 ] ; then
- case $1 in
- *.tar.bz2) tar xjf $1 ;;
- *.tar.gz) tar xzf $1 ;;
- *.bz2) bunzip2 $1 ;;
- *.rar) unrar e $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 ;;
- *) echo "'$1' cannot be extracted via extract()" ;;
- esac
- else
- echo "'$1' is not a valid file"
- fi
- }
- #! /usr/bin/env bash
- declare -A EXTENSION_DICT=( [tar.xz]="kxJf" [txz]="kxJf" [tar.bz2]="kxjf"
- [tar.bz]="kxjf" [tar.gz]="kxzf"
- [tgz]="kxzf" [tbz]="kxjf"
- [tbz2]="kxjf" [tb2]="kxjf" )
- function extract_archive(){
- read file extension <<<$(echo $1 $2)
- echo "extracting $file to ${file%$extension}"
- eval "tar ${EXTENSION_DICT[$extension]} $file"
- }
- for file in $*
- do
- case "$file" in
- *tar.xz)
- extract_archive $file "tar.xz"
- ;;
- *tar.bz2)
- extract_archive $file "tar.bz2"
- ;;
- *tar.bz)
- extract_archive $file "tar.bz"
- ;;
- *tar.gz)
- extract_archive $file "tar.gz"
- ;;
- *tgz)
- extract_archive $file "tgz"
- ;;
- *tbz)
- extract_archive $file "tbz"
- ;;
- *tbz2)
- extract_archive $file "tbz2"
- ;;
- *tb2)
- extract_archive $file "tb2"
- ;;
- *txz)
- extract_archive $file "txz"
- ;;
- *)
- echo "Sorry, unrecognized file format."
- exit 1
- ;;
- esac
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement