diff --git a/bin/unarchive b/bin/unarchive deleted file mode 100755 index 74edf1de..00000000 --- a/bin/unarchive +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash - -# Extracts the contents of archives. -# -# Adapted from a script by Sorin Ionescu - -success= -file_name= -extract_dir= -while (( $# > 0 )); do - if [[ ! -s $1 ]]; then - print "$0: file not valid: $1" >&2 - shift - continue - fi - - success=0 - file_name="${1:t}" - extract_dir="${file_name:r}" - case ${1:l} in - *.tar.gz|*.tgz) tar xvzf "$1" ;; - *.tar.bz2|*.tbz|*.tbz2) tar xvjf "$1" ;; - *.tar.xz|*.txz) tar --xz --help &> /dev/null \ - && tar --xz -xvf "$1" \ - || xzcat "$1" | tar xvf - ;; - *.tar.zma|*.tlz) tar --lzma --help &> /dev/null \ - && tar --lzma -xvf "$1" \ - || lzcat "$1" | tar xvf - ;; - *.tar) tar xvf "$1" ;; - *.gz) gunzip "$1" ;; - *.bz2) bunzip2 "$1" ;; - *.xz) unxz "$1" ;; - *.lzma) unlzma "$1" ;; - *.Z) uncompress "$1" ;; - *.zip) unzip "$1" -d $extract_dir ;; - *.rar) unrar &> /dev/null \ - && unrar x -ad "$1" \ - || rar x -ad "$1" ;; - *.7z) 7za x "$1" ;; - *.deb) - mkdir -p "$extract_dir/control" - mkdir -p "$extract_dir/data" - cd "$extract_dir"; ar vx "../${1}" > /dev/null - cd control; tar xzvf ../control.tar.gz - cd ../data; tar xzvf ../data.tar.gz - cd ..; rm *.tar.gz debian-binary - cd .. - ;; - *) print "$0: cannot extract: $1" >&2 - success=1 - ;; - esac - shift -done