Sounds like a job for 'find' !

find /home/bill -type f -name '*.doc' -exec somecommand someargs {} \;
         ^          ^           ^              ^          ^       ^ ^
     where to   only look     name          what cmd    command   | +-- mandatory
       start    at files     pattern         to run      args     |
                                                                  |
                                                       will insert found name here

you can harmlessly try it:

find /home/bill -type f -name '*.doc' -exec ls -s {} \;

or

find /home/bill -type d -exec ls -ld {} \;


'man find' is your friend.


HTH,
Bill


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of robin
> Sent: Friday, May 14, 2004 4:19 PM
> To: [EMAIL PROTECTED]
> Subject: [newbie] [Somewhat OT] Recursing in bash
>
>
> 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?
>
> Sir Robin
>
> --
> “Doubt is not a pleasant condition, but certainty is absurd.”
> - Voltaire
>
> Robin Turner
> IDMYO
> Bilkent Universitesi
> Ankara 06533
> Turkey
>
> www.bilkent.edu.tr/~robin
>
>
>


____________________________________________________
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