Unzip Ricorsivo

3 gennaio 2008

Ho scritto uno scriptino per bash per effettuare la decompressione di files Zip ricorsivamente.
A partire dalla directory corrente viene effettuata la ricerca di files zippati da decomprimere nelle sottodirectories,viene gestita anche la possibilità di spazi nel nome dei files.
Spero possa esservi utile.

#!/bin/sh

work(){
          for i  in `ls | sed -e s/' '/"__spazio__"/g`
            do
              a=`echo $i | sed -e s/"__spazio__"/' '/g`
              zip=$(file -b "$a" | awk '$1 ~ /^Zip/ { print $1 }' )
              directory=$(ls -ld "$a" | awk '$1 ~ /^d/ {print "directory"}' )
                   if [ ! -z $zip ]
                       then
                        unzip "$a"
                       elif [ ! -z $directory ]
                        then
                         cd "$a"
                           work
                   fi
           done

           cd ..
    }

   work