diff options
Diffstat (limited to 'zsh/functions/extract')
-rw-r--r-- | zsh/functions/extract | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/zsh/functions/extract b/zsh/functions/extract new file mode 100644 index 0000000..018d569 --- /dev/null +++ b/zsh/functions/extract @@ -0,0 +1,27 @@ +# credit: http://nparikh.org/notes/zshrc.txt +# Usage: extract <file> +# Description: extracts archived files / mounts disk images +# Note: .dmg/hdiutil is Mac OS X-specific. +extract () { + 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) cat $1 | pax -r ;; + *.pax.Z) uncompress $1 --stdout | pax -r ;; + *.Z) uncompress $1 ;; + *) echo "'$1' cannot be extracted/mounted via extract()" ;; + esac + else + echo "'$1' is not a valid file" + fi +} + |