Browse Source

Merge branch 'master' of https://github.com/SuprDewd/oh-my-zsh into SuprDewd-master

Robby Russell 13 years ago
parent
commit
f02e732543
2 changed files with 38 additions and 0 deletions
  1. 2 0
      lib/aliases.zsh
  2. 36 0
      lib/functions.zsh

+ 2 - 0
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

+ 36 - 0
lib/functions.zsh

@@ -37,3 +37,39 @@ function take() {
   mkdir -p $1
   cd $1
 }
+
+function extract() {
+    unset REMOVE_ARCHIVE
+    
+    if test "$1" = "-r"; then
+        REMOVE=1
+        shift
+    fi
+  if [[ -f $1 ]]; then
+    case $1 in
+      *.tar.bz2) tar xvjf $1;;
+      *.tar.gz) tar xvzf $1;;
+      *.tar.xz) tar xvJf $1;;
+      *.tar.lzma) tar --lzma -xvf $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
+
+    if [[ $REMOVE_ARCHIVE -eq 1 ]]; then
+        echo removing "$1";
+        /bin/rm "$1";
+    fi
+
+  else
+    echo "'$1' is not a valid file"
+  fi
+}
+