esac
exec mkdir "$D"
-+ f \.(bz2|gz|lz|lzma|7z|xz|tar|zip|ZIP|rar|RAR)$ & t r
-x Extract a compressed file
- case %f in
- *.bz2) P="bzip2 -d";;
- *.gz) P="gzip -d";;
- *.lz) P="lzip -d";;
- *.lzma) P="lzma -d";;
- *.7z) P="7zr x";;
- *.xz) P="xz -d";;
- *.tar) P="tar xvpf";;
- *.zip|*.ZIP) P="uzip";;
- *.rar|*.RAR) P="rar x -y";;
- esac
- exec $P %f
-
-+ F \.(bz2|gz|lz|lzma|7z|xz|tar|zip|ZIP|rar|RAR)$ & T r
-X Extract another compressed file
- case %F in
- *.bz2) P="bzip2 -d";;
- *.gz) P="gzip -d";;
- *.lz) P="lzip -d";;
- *.lzma) P="lzma -d";;
- *.7z) P="7zr x";;
- *.xz) P="xz -d";;
- *.tar) P="tar xvpf";;
- *.zip|*.ZIP) P="uzip";;
- *.rar|*.RAR) P="rar x -y";;
- esac
- exec $P %D/%F
-
+ f \.tar\.gz$ | f \.tar\.z$ | f \.tgz$ | f \.tpz$ | f \.tar\.lz$ | f \.tar\.lzma$ | f \.tar\.7z$ | f \.tar\.xz$ | f \.tar\.Z$ | f \.tar\.bz2$ & t r
x Extract the contents of a compressed tar file
unset PRG
esac
$PRG %D/%F | tar xvf -
++ f \.(bz2|gz|lz|lzma|7z|xz|tar|zip|ZIP|rar|RAR)$ & t r
+x Extract a compressed file
+ case %f in
+ *.bz2) P="bzip2 -d";;
+ *.gz) P="gzip -d";;
+ *.lz) P="lzip -d";;
+ *.lzma) P="lzma -d";;
+ *.7z) P="7zr x";;
+ *.xz) P="xz -d";;
+ *.tar) P="tar xvpf";;
+ *.zip|*.ZIP) P="uzip";;
+ *.rar|*.RAR) P="rar x -y";;
+ esac
+ exec $P %f
+
++ F \.(bz2|gz|lz|lzma|7z|xz|tar|zip|ZIP|rar|RAR)$ & T r
+X Extract another compressed file
+ case %F in
+ *.bz2) P="bzip2 -d";;
+ *.gz) P="gzip -d";;
+ *.lz) P="lzip -d";;
+ *.lzma) P="lzma -d";;
+ *.7z) P="7zr x";;
+ *.xz) P="xz -d";;
+ *.tar) P="tar xvpf";;
+ *.zip|*.ZIP) P="uzip";;
+ *.rar|*.RAR) P="rar x -y";;
+ esac
+ exec $P %D/%F
+
+ t r & f \.(zip|ZIP)$
y Extract from zip with recoded filenames
exec unzip.py %f