summaryrefslogtreecommitdiff
path: root/lib/functions.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/functions.zsh')
-rw-r--r--lib/functions.zsh21
1 files changed, 21 insertions, 0 deletions
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
+}