On Sunday 25 June 2006 12:27 pm, Jordan Peacock wrote:
> I have this working:
>
> #!/bin/bash
> IFS="
> "
> for i in `find . -name '*.tar'`; do
>  case "$i" in
>    *.tar)
>       mkdir `basename "$i" .tar`
>       cd `basename "$i" .tar`
>       tar xvf ../"$i"
>       cd ..
>       mv "$i" /home/hewhocutsdown/.Trash/
>       ;;
>  esac
> done
>
> This works fine. I'm trying to tinker with it so that it'll do the
> same with .cbt files, except they don't need the folder to be made, in
> fact it's counter-productive. .cbt files are simply tar files, and
> with the previous version of Gnome I could merely right-click and
> extract them, but now I can't, so I may be required to rename the
> extension to .tar. (a 'mv' command I'm assuming) but so far nothing's
> worked. This is what I tried;
>
> #!/bin/bash
> IFS="
> "
> for i in `find . -name '*.cbt'`; do
>  case "$i" in
>    *.cbt)
>       mv `basename "$i" .cbt` `basename "$i" .tar` # fails
>       mkdir `basename "$i" .cbt` # unneeded
>       cd `basename "$i" .cbt` # uneeded
>       tar xvf ../"$i" # fails
>       cd ..
>       mv "$i" /home/user/.Trash/ # works
>       ;;
>  esac
> done
>
> I just need tar to extract the archive in the immediate directory
> (there's no chance of overwriting, so I'm not concerned with that) and
> then dispose of the archive.
>
> Thanks thanks
>
>                       -jordan

So if you need to extract all of the cbt (tar) files to the current directory 
why not just do something like this

find . -type f -name '*.cbt' -exec tar -xvf '{}' \;