X-Git-Url: https://git.jankratochvil.net/?p=nethome.git;a=blobdiff_plain;f=bin%2Fexx;h=8321cf303a1aa28e7e1112dff8bf826ad6f5c064;hp=91c67ba8cafa768ca23d495ec43249c72ef1c65e;hb=1fc8f7d6c266e5bfd376cee3769e63b1d64f4ca4;hpb=8eba79a7e4ce13d7610de2d58829e76b84774010 diff --git a/bin/exx b/bin/exx index 91c67ba..8321cf3 100755 --- a/bin/exx +++ b/bin/exx @@ -13,6 +13,7 @@ use constant FORMAT_TAR=>'tar xf $pathname;i=`echo *`;echo "$i"|grep -q " " || t use constant FORMATS=>{ "rpm" =>'rpm2cpio $pathname|cpio -id --quiet', #-v #FIXME: --sparse doesn't work, why? "zip" =>'unzip -Lq $pathname', + "jar" =>'unzip -Lq $pathname', "a" =>'ar x $pathname', "deb" =>'ar x $pathname;' .'for i in *.tar.gz;do j=`basename $i .tar.gz`;mkdir -p $j;cd $j;tar xzf ../$i;cd ..;rm -f $i;done', @@ -23,6 +24,7 @@ use constant FORMATS=>{ "tar.bz2"=>do { $_=FORMAT_TAR; s/xf/xjf/; $_; }, "tar.bz" =>"tar.bz2", "tbz" =>"tar.bz", + "msi" =>'cabextract -q $pathname', }; die "Syntax: $0 )>..." @@ -38,7 +40,7 @@ for my $fname (@ARGV) { $parsed[3] or die "Extension not found for archive: $fname"; my($path,$base,$ext)=@parsed[0,1,3]; my($pathname)=($parsed[2] eq "=" ? "$path$base" : $fname); - my($cmdtry,$cmd)=($ext); + my($cmdtry,$cmd)=(lc $ext); do { $cmd=$cmdtry; $cmdtry=FORMATS->{$cmdtry};