diff options
author | SuprDewd <suprdewd@gmail.com> | 2010-12-24 22:20:57 +0000 |
---|---|---|
committer | SuprDewd <suprdewd@gmail.com> | 2010-12-24 22:20:57 +0000 |
commit | ff0b25b745494d96ae06694321b2299991620b14 (patch) | |
tree | d5b3043eb1ca16bb97c93c5a17a49a8c113d73f6 | |
parent | 4fadc302472f9b02e386da3e7182c1397ee3cd5c (diff) | |
download | zsh-ff0b25b745494d96ae06694321b2299991620b14.tar.gz zsh-ff0b25b745494d96ae06694321b2299991620b14.tar.bz2 zsh-ff0b25b745494d96ae06694321b2299991620b14.zip |
Added a function to extract various archives.
Also an alias for the function.
-rw-r--r-- | lib/aliases.zsh | 2 | ||||
-rw-r--r-- | lib/functions.zsh | 21 |
2 files changed, 23 insertions, 0 deletions
diff --git a/lib/aliases.zsh b/lib/aliases.zsh index d2d3aed81..b47de5bde 100644 --- a/lib/aliases.zsh +++ b/lib/aliases.zsh @@ -21,3 +21,5 @@ alias ll='ls -l' alias sl=ls # often screw this up alias afind='ack-grep -il' + +alias x=extract diff --git a/lib/functions.zsh b/lib/functions.zsh index e3c0de43e..99b75409c 100644 --- a/lib/functions.zsh +++ b/lib/functions.zsh @@ -37,3 +37,24 @@ function take() { mkdir -p $1 cd $1 } + +function extract() { + if [[ -f $1 ]]; then + case $1 in + *.tar.bz2) tar xvjf $1;; + *.tar.gz) tar xvzf $1;; + *.bz2) bunzip $1;; + *.rar) unrar $1;; + *.gz) gunzip $1;; + *.tar) tar xvf $1;; + *.tbz2) tar xvjf $1;; + *.tgz) tar xvzf $1;; + *.zip) unzip $1;; + *.Z) uncompress $1;; + *.7z) 7z x $1;; + *) echo "'$1' cannot be extracted via >extract<";; + esac + else + echo "'$1' is not a valid file" + fi +} |