caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] Wildcard expansion/command line Q#2
@ 2002-05-14 14:39 Jens Olsson
  2002-05-14 16:01 ` Alain Frisch
  2002-05-14 16:19 ` John Prevost
  0 siblings, 2 replies; 3+ messages in thread
From: Jens Olsson @ 2002-05-14 14:39 UTC (permalink / raw)
  To: caml-list

Hi again,

as I dig more into the code of my program I realize that I have some more questions. I just hope these hasn't as obvious answers than my previous ones... :) 

Now, I know the shell expands any wildcard for my program, resulting in a argv array with all the expanded filenames in the given directory. Allright, nice and neat. I can deal with that. 

But what happens if I want to go recursive? As I understand it, the expansion made by the shell is *not* recursive itself. If my wildcard is *.txt I will only get expanded names for the current directory but not for any txt files in the subdirectories. Is this a desired behaviour?

I mean, one could interpret the wildcard *.txt as ./*.txt. In that case, maybe recursive action is not logical - as the complete path of the files in any subdirectories do not match the wildcard. If this is the case I find it locical and I only have to implement my program to deal with either one or more files given by the user directly or by shell expansion.

But if the wildcard *.txt together with a recurse flag means "all txt files in this and any subdirectory" I am a bit puzzled - what do I do with subdirectories? Do I have to open them manually and let the shell expand them too, using a globbing feature (if it works that way)? And if so, is this supported by Ocaml? I do not believe in this second alternative. It seems so awkward and so not in harmony with the idea of shell expansion of wildcards. But maybe I am missing something here?

I do not know if I make sense... but I guess that a little bit more examination of tools similar to the one I write might give some answers. Or maybe someone of you have it right away. I'd be more than happy to elaborate my thoughts if nescessary.

Jens
-- 

Powered by Outblaze
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Caml-list] Wildcard expansion/command line Q#2
  2002-05-14 14:39 [Caml-list] Wildcard expansion/command line Q#2 Jens Olsson
@ 2002-05-14 16:01 ` Alain Frisch
  2002-05-14 16:19 ` John Prevost
  1 sibling, 0 replies; 3+ messages in thread
From: Alain Frisch @ 2002-05-14 16:01 UTC (permalink / raw)
  To: Jens Olsson; +Cc: caml-list

On Tue, 14 May 2002, Jens Olsson wrote:

> as I dig more into the code of my program I realize that I have some
> more questions. I just hope these hasn't as obvious answers than my
> previous ones... :)
>
> Now, I know the shell expands any wildcard for my program, resulting in
> a argv array with all the expanded filenames in the given directory.
> Allright, nice and neat. I can deal with that.
>
> But what happens if I want to go recursive? As I understand it, the
> expansion made by the shell is *not* recursive itself. If my wildcard is
> *.txt I will only get expanded names for the current directory but not
> for any txt files in the subdirectories. Is this a desired behaviour?

This is a shell related question; for instance, under zsh, you can
use **/*.txt for recursive expansion.

-- Alain

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Caml-list] Wildcard expansion/command line Q#2
  2002-05-14 14:39 [Caml-list] Wildcard expansion/command line Q#2 Jens Olsson
  2002-05-14 16:01 ` Alain Frisch
@ 2002-05-14 16:19 ` John Prevost
  1 sibling, 0 replies; 3+ messages in thread
From: John Prevost @ 2002-05-14 16:19 UTC (permalink / raw)
  To: Jens Olsson; +Cc: caml-list

>>>>> "jo" == Jens Olsson <jenso@operamail.com> writes:

    jo> Hi again, as I dig more into the code of my program I realize
    jo> that I have some more questions. I just hope these hasn't as
    jo> obvious answers than my previous ones... :)

{...}

    jo> But what happens if I want to go recursive? As I understand
    jo> it, the expansion made by the shell is *not* recursive
    jo> itself. If my wildcard is *.txt I will only get expanded names
    jo> for the current directory but not for any txt files in the
    jo> subdirectories. Is this a desired behaviour?

This is another reason that this is external to programs.  The typical
solution is either to use a shell with a more extended syntax (zsh,
for example) which lets you write "**/foo" to mean "foo in all
subdirectories", or to use the program find possibly with the support
of xargs.  A typical example is:

find . -type f -name \*.deleteme -print0 | xargs -0 rm

If your program needs to do this work itself, it should implement its
own system of globbing, much like find does.

John.
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-05-14 17:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-14 14:39 [Caml-list] Wildcard expansion/command line Q#2 Jens Olsson
2002-05-14 16:01 ` Alain Frisch
2002-05-14 16:19 ` John Prevost

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).