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