From Kurt.Hornik at wu-wien.ac.at  Wed Nov 26 10:05:42 2003
From: Kurt.Hornik at wu-wien.ac.at (Kurt Hornik)
Date: Wed Nov 26 10:07:28 2003
Subject: [Rd] Question about Unix file paths
In-Reply-To: <Pine.LNX.4.44.0311250728180.26806-100000@gannet.stats>
References: <17b5svs7cl2cjmto222665p545mb0ok74u@4ax.com>
	<Pine.LNX.4.44.0311250728180.26806-100000@gannet.stats>
Message-ID: <16324.27878.740145.101@mithrandir.hornik.net>

>>>>> Prof Brian Ripley writes:

> On Mon, 24 Nov 2003, Duncan Murdoch wrote:
>> >Duncan Murdoch <dmurdoch@pair.com> writes:
>> >
>> >> Gabor Grothendieck pointed out a bug to me in list.files(...,
>> >> full.name=TRUE), that essentially comes down to the fact that in
>> >> Windows it's not always valid to add a path separator (slash or
>> >> backslash) between a path specifier and a filename.  For example,
>> >> 
>> >> c:foo
>> >> 
>> >> is different from
>> >> 
>> >> c:\foo
>> >> 
>> >> and there are other examples.
>> 
>> I've committed a change to r-patched to fix this in Windows only.
>> Sounds like it's not an issue elsewhere.

> I think there are some potential issues with doubling separators and
> final separators on dirs.  On Unix file systems /part1//part2 and
> /path/to/dir/ are valid.  However, file systems on Unix may not be
> Unix file systems:  examples are earlier MacOS systems on MacOS X and
> mounted Windows and Novell systems on Linux.  I would not want to
> assume that all of these combinations worked.

>> Gabor also suggested an option to use shell globbing instead of
>> regular expressions to select the files in the list, e.g.
>> 
>> list.files(dir="/", pattern="a*.dat", glob=T)
>> 
>> This would be easy to do in Windows, but from the little I know about
>> Unix programming, would not be so easy there, so I haven't done
>> anything about it.

> It would be shell-dependent and OS-dependent as well as a retrograde
> step, as those who wanted to use regular expressions no longer would
> be able to.

Right.  In any case, an explicit glob() function seems preferable to
me ...

-k


[Rd] Question about Unix file paths
Kurt Hornik