On Fri, May 14, 2004 at 11:18:32PM +0300, robin wrote:
> I'm trying to write a bash script that will recurse through a directory, 
> find Word files, then run antiword on them. Unfortunately, I'm stuck on 
> the first stage, which is to get it to recognise a directory. I'd 
> thought this would work
> 
> for i in *
>   do
>     if [-d $i]; then
>       cd $i
>               
> and so on, but the third line obviously has the wrong syntax, as I get 
> "[!: command not found". Any ideas?

find can be your friend. You can find directories and files, and specify
recursion depth using -mindepth and -maxdepth. So an easy solution
(depending on what you want to do with what you find) could be something
like

find /home/robin/crappywordfiles -type f -iname '*.doc'

by default it will recurse crappywordfiles to infinity finding all files
that end in .doc, .DOC, .dOC etc. 

or if you really wanna cd to the directories themselves, something like

for i in `find /home/robin/crappywordfiles -type d`
do
    cd $i
    rm -f *.doc
done

hth,
Todd

____________________________________________________
Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com
Join the Club : http://www.mandrakeclub.com
____________________________________________________

Reply via email to