fix tar priority
[small-misc-bash] / ex
diff --git a/ex b/ex
index 6391da984a0e13227aacdc5b40a189b8de004c96..cd9bd78ec0b367546d7d5e32dc6b59f9f210ce75 100755 (executable)
--- a/ex
+++ b/ex
@@ -18,11 +18,9 @@ ex() {
 Extract many types of files
 
 Based on their extensions,
-7z bz2 deb gz iso dsc rar rpm tar xz zip sfs & some combinations.
+7z [tar.]bz2 deb [tar.]gz iso dsc rar rpm sfs tar xpi [tar.]xz zip Z.
 See source for exact file extensions.
-Note: apt-get install dtrx will do the same for
-most of these types, plus some more, I'm going
-to try it out sometime."
+Note: dtrx (package & command) extracts most of these plus some others."
 
     if [[ $1 == --help ]]; then
         echo "$help"
@@ -30,18 +28,17 @@ to try it out sometime."
     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" ;;
-            *.bz2 ) bunzip2 "$x" ;;
-            *.gz ) gunzip  "$x" ;;
-            *.tar ) tar xf "$x" ;;
-            *.zip ) unzip "$x" ;;
-            *.Z ) uncompress "$x" ;;
-            *.7z ) 7za x "$x" ;;
-            *.deb ) ar x "$x" ;;
-            *.rpm ) rpm2cpio "$x" | cpio --extract --make-directories ;;
             *.tar.xz ) tar Jxf "$x" ;;
             *.xz) xz -d "$x" ;;
+            *.7z ) 7za x "$x" ;;
+            *.bz2 ) bunzip2 "$x" ;;
+            *.deb ) ar x "$x" ;;
+            *.dsc) dpkg-source -x "$x" ;;
+            *.gz ) gunzip  "$x" ;;
             *.iso )
                 local super
                 if [[ $EUID != 0 ]]; then
@@ -55,10 +52,14 @@ to try it out sometime."
                 cp -a "$temp_dir"/* "$dir"
                 $super umount "$temp_dir"
                 ;;
+            *.jar) jar xf "$x" ;;
             *.r[0-9][0-9]|*.rar ) unrar x "$x" ;;
-            *.dsc) dpkg-source -x "$x" ;;
-            *.sfs) $user unsquashfs "$x" ;;
-            *)  echo "I don't kno how to extract $x";;
+            *.rpm ) rpm2cpio "$x" | cpio --extract --make-directories ;;
+            *.sfs) $super unsquashfs "$x" ;;
+            *.Z ) uncompress "$x" ;;
+            *.zip|*.xpi ) unzip "$x" ;;
+
+            *)  echo "I don't know how to extract $x";;
         esac
     done
 }