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
____________________________________________________