Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Dir.glob problem

18 views
Skip to first unread message

Dmitry V. Sabanin

unread,
Sep 12, 2004, 10:53:11 PM9/12/04
to
Hi,

I have a strange problem with Dir.glob and directory symlinks on linux.
There's a directory:
$ ls -l /tmp/test
drwxr-xr-x 2 sdmitry sdmitry 80 Sep 13 10:40 test1
drwxr-xr-x 2 sdmitry sdmitry 80 Sep 13 10:40 test2
lrwxrwxrwx 1 sdmitry sdmitry 8 Sep 13 10:40 test3 -> ../test3
Each sub-directory has files with .file extension. Here's the problem:
$ ruby -e "p Dir.glob('**/*.file')"
["test1/test.file", "test2/test2.file"]
Why there's no test3 files in the result? And what simple workaround can I use
to get:
["test1/test.file", "test2/test2.file", "test3/test3.file"]

Thanks in advance,
--
sdmitry -=- Dmitry V. Sabanin
MuraveyLabs.
Spam Here -> postm...@sco.com


nobu....@softhome.net

unread,
Sep 12, 2004, 11:08:48 PM9/12/04
to
Hi,

At Mon, 13 Sep 2004 11:53:11 +0900,
Dmitry V. Sabanin wrote in [ruby-talk:112357]:


> I have a strange problem with Dir.glob and directory symlinks on linux.
> There's a directory:
> $ ls -l /tmp/test
> drwxr-xr-x 2 sdmitry sdmitry 80 Sep 13 10:40 test1
> drwxr-xr-x 2 sdmitry sdmitry 80 Sep 13 10:40 test2
> lrwxrwxrwx 1 sdmitry sdmitry 8 Sep 13 10:40 test3 -> ../test3
> Each sub-directory has files with .file extension. Here's the problem:
> $ ruby -e "p Dir.glob('**/*.file')"
> ["test1/test.file", "test2/test2.file"]
> Why there's no test3 files in the result? And what simple workaround can I use
> to get:
> ["test1/test.file", "test2/test2.file", "test3/test3.file"]

"**" doesn't traverse symbolic links, or it can cause an
infinite loop.

$ ruby -e "p Dir.glob('*/**/*.file')"
["test1/test1.file", "test2/test2.file", "test3/test3.file"]

--
Nobu Nakada


0 new messages