From c09d91fe95fca4367f47c06fc808cd02a1a8e6a5 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Tue, 13 Aug 2019 14:40:54 -0400 Subject: add bins --- templates/.bin/extract | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100755 templates/.bin/extract (limited to 'templates/.bin/extract') diff --git a/templates/.bin/extract b/templates/.bin/extract new file mode 100755 index 0000000..e6831e4 --- /dev/null +++ b/templates/.bin/extract @@ -0,0 +1,38 @@ +#!/bin/sh + +# credit: http://nparikh.org/notes/zshrc.txt +# Usage: extract +# Description: extracts archived files / mounts disk images +# Note: .dmg/hdiutil is Mac OS X-specific. + +do_autodetect () { + if file "$1" | grep -q 'Zip archive' ; then + unzip "$1" + else + echo "'$1' is not a recognized format" + fi +} + +# first use a simple extension-based approach +if [ -f "$1" ]; then + case $1 in + *.tar.bz2) tar -jxvf "$1" ;; + *.tar.gz) tar -zxvf "$1" ;; + *.bz2) bunzip2 "$1" ;; + *.dmg) hdiutil mount "$1" ;; + *.gz) gunzip "$1" ;; + *.tar) tar -xvf "$1" ;; + *.tbz2) tar -jxvf "$1" ;; + *.tgz) tar -zxvf "$1" ;; + *.zip) unzip "$1" ;; + *.ZIP) unzip "$1" ;; + *.pax) pax -r < "$1" ;; + *.pax.Z) uncompress "$1" --stdout | pax -r ;; + *.Z) uncompress "$1" ;; + + # if there is no recognized extension, try to auto-detect the file type + *) do_autodetect "$1" ;; + esac +else + echo "'$1' is not a valid file" +fi -- cgit v1.2.3