All pastes #1541536 Raw Edit

Minoru

public shellscript v1 · immutable
#1541536 ·published 2009-08-24 12:52 UTC
rendered paste body
#!/bin/sh## UNPacK script by Minoru (eual [dot] jp [at] gmail [dot] com)#help() {    echo "USAGE: `basename $0` --help | file1 [file2 [file3 ...]]"    echo "Supported archive formats is: tar, tar.bz2, tar.gz, bz2, gz, 7z, zip, rar."}# Check parametersif [ "$1" == "--help" ]then    help    exitfiif [ -z "$*" ]then    echo "Specify files to unpack please. See `basename $0` --help for details."    exit 1fi# checking for pvif command -v piv &>/dev/nullthen    pv_avaliable=trueelse    pv_avaliable=false    echo "Warning: pv not found. Please install it for displaying nice progress bars, speed and estimated time while packing."fiwhile [ -n "$1" ]do    case $1 in        *.tar)            if [ $pv_avaliable == true ]            then                pv "$1" | tar xf -            else                tar xvf "$1"            fi            shift            ;;        *.tbz|*.tbz2|*.tar.bz2)            if [ $pv_avaliable == true ]            then                pv "$1" | bunzip2 -c | tar xf -            else                tar xjvf "$1"            fi            shift            ;;            *.tgz|*.tar.gz)            if [ $pv_avaliable == true ]            then                pv "$1" | gunzip -c | tar xf -            else                tar xzvf "$1"            fi            shift            ;;        *.bz2)            out="${1%%.bz2}"            if [ $pv_avaliable == true ]            then                pv "$1" | bunzip2 -c - >"$out"            else                bunzip2 -cv "$1" >"$out"            fi            shift            ;;        *.gz)            out="${1%%.gz}"            if [ $pv_avaliable == true ]            then                pv "$1" | gunzip -c - >"$out"            else                gunzip -cv "$1" >"$out"            fi            shift            ;;        *.7z|*.7zip)            7z x "$1"            shift            ;;        *.zip)            unzip "$1"            shift            ;;        *.rar)            rar x "$1"            shift            ;;        *)            echo "Can't recognize format of '$1'. See `basename $0` --help for details."            exit 1            ;;    esacdone