minor fixes
[small-misc-bash] / ex
diff --git a/ex b/ex
index ff8edb77ce5e7f01441166f1209b4b00642ad6b5..0ef26c45c5a9d7dc50d6852986bb7091f7e60d59 100755 (executable)
--- a/ex
+++ b/ex
@@ -28,9 +28,21 @@ Note: dtrx (package & command) extracts most of these plus some others."
     local x super
     for x in "$@"; do
         case "$x" in
+            # tars first, so they are higher pri than non-tar extensions
+            *.tar ) tar xf "$x" ;;
+            *.tar.bz2 | *.tbz2 ) tar xjf "$x" ;;
+            *.tar.gz | *.tgz ) tar xzf "$x" ;;
+            *.tar.xz ) tar Jxf "$x" ;;
+            *.xz) xz -d "$x" ;;
             *.7z ) 7za x "$x" ;;
             *.bz2 ) bunzip2 "$x" ;;
-            *.deb ) ar x "$x" ;;
+            *.deb )
+              ar x "$x"
+              tar Jxf data.tar.xz
+              tar xzf control.tar.gz
+              rm -f control.tar.gz
+              rm -f data.tar.xz
+              ;;
             *.dsc) dpkg-source -x "$x" ;;
             *.gz ) gunzip  "$x" ;;
             *.iso )
@@ -50,11 +62,6 @@ Note: dtrx (package & command) extracts most of these plus some others."
             *.r[0-9][0-9]|*.rar ) unrar x "$x" ;;
             *.rpm ) rpm2cpio "$x" | cpio --extract --make-directories ;;
             *.sfs) $super unsquashfs "$x" ;;
-            *.tar ) tar xf "$x" ;;
-            *.tar.bz2 | *.tbz2 ) tar xjf "$x" ;;
-            *.tar.gz | *.tgz ) tar xzf "$x" ;;
-            *.tar.xz ) tar Jxf "$x" ;;
-            *.xz) xz -d "$x" ;;
             *.Z ) uncompress "$x" ;;
             *.zip|*.xpi ) unzip "$x" ;;