[Rd] [R] Open a file which name contains a tilde
Duncan Murdoch
murdoch@dunc@n @end|ng |rom gm@||@com
Tue Jun 11 22:59:04 CEST 2019
On 11/06/2019 4:34 p.m., William Dunlap via R-devel wrote:
> Note that R treats tildes in file names differently on Windows and Linux.
> On Windows, it is only replaced if it it at the beginning of the line and
> is followed by a forward or backward slash or end-of-line. On Linux it is
> replaced no matter where it is in the text and ~someUser will be replaced
> by someUser's home directory (if 'someUser' is a user with a home
> directory).
That's not quite true: On Linux the bug is in the code that uses
libreadline, which you don't have to use. If you just specify
"--no-readline" when you start R, it will be fine on Linux, as far as I
can see.
I wouldn't choose that as the default way to run R (it's pretty
irritating not to have readline support), but it is a workaround for
this bug.
Duncan Murdoch
>
> Hence, if you have a Windows machine that can look at the file system on
> your Linux machine you can use file.rename on Windows to change the names.
> My inclination would be to use a bash script on Linux to change the names,
> but if you are not comfortable with bash try the Windows approach.
>
> Bill Dunlap
> TIBCO Software
> wdunlap tibco.com
>
>
> On Tue, Jun 11, 2019 at 1:13 PM Frank Schwidom <schwidom using gmx.net> wrote:
>
>> Hi Gabriel,
>>
>> I actually want to make renames over thousands of files. But if I am not
>> able to express the source filename of the rename operation I will not be
>> able to get the work done. Besides the fact that there are issues I think
>> that R is qualified for solving my problem by the method how it can handle
>> long vectors of strings, booleans and also lists.
>>
>> Kind regards,
>> Frank
>>
>> On 2019-06-11 09:49:17, Gabriel Becker wrote:
>>> Hi Frank,
>>> I'm hesitant to be "that guy", but in case no one else has brought
>> this up
>>> to you, having files with a tilde in their names (generally but
>> especially
>>> on a linux system, where ~ in file names has a very important special
>>> meaning in some cases, as we know) strikes me as an exceptionally bad
>>> practice anyway. In light of that, the solution with the smallest
>> amount
>>> of pain for you is almost surely to just... not do that. Your
>> filenames
>>> will be better for it anyway.
>>> There is a reason no one has complained about this before, and while I
>>> haven't run a study or anything, I strongly suspect its that
>> "everyone"
>>> else is already on the "no tildes in filenames" bandwagon, so this
>>> behavior, even if technically a bug, has no ability to cause them
>>> problems.
>>> Best,
>>> ~G
>>> On Tue, Jun 11, 2019 at 8:25 AM Frank Schwidom <[1]schwidom using gmx.net>
>>> wrote:
>>>
>>> Hi,
>>>
>>> yes, I have seen this package and it has the same tilde expanding
>>> problem.
>>>
>>> Please excuse me I will cc this answer to r-help and r-devel to
>> keep the
>>> discussion running.
>>>
>>> Kind regards,
>>> Frank Schwidom
>>>
>>> On 2019-06-11 09:12:36, Gábor Csárdi wrote:
>>> > Just in case, have you seen the fs package?
>>> > [2]https://fs.r-lib.org/
>>> >
>>> > Gabor
>>> >
>>> > On Tue, Jun 11, 2019 at 7:51 AM Frank Schwidom <[3]
>> schwidom using gmx.net>
>>> wrote:
>>> > >
>>> > > Hi,
>>> > >
>>> > > to get rid of any possible filename modification I started a
>> little
>>> project to cover my usecase:
>>> > >
>>> > > [4]https://github.com/schwidom/simplefs
>>> > >
>>> > > This is my first R package, suggestions and a review are
>> welcome.
>>> > >
>>> > > Thanks in advance
>>> > > Frank Schwidom
>>> > >
>>> > > On 2019-06-07 09:04:06, Richard O'Keefe wrote:
>>> > > > How can expanding tildes anywhere but the beginning of a
>> file
>>> name NOT be
>>> > > > considered a bug?
>>> > > > On Thu, 6 Jun 2019 at 23:04, Ivan Krylov
>>> <[1][5]krylov.r00t using gmail.com> wrote:
>>> > > >
>>> > > > On Wed, 5 Jun 2019 18:07:15 +0200
>>> > > > Frank Schwidom <[2][6]schwidom using gmx.net> wrote:
>>> > > >
>>> > > > > +> path.expand("a ~ b")
>>> > > > > [1] "a /home/user b"
>>> > > >
>>> > > > > How can I switch off any file crippling activity?
>>> > > >
>>> > > > It doesn't seem to be possible if readline is enabled and
>>> works
>>> > > > correctly.
>>> > > >
>>> > > > Calls to path.expand [1] end up [2] in R_ExpandFileName
>> [3],
>>> which
>>> > > > calls R_ExpandFileName_readline [4], which uses
>> libreadline
>>> function
>>> > > > tilde_expand [5]. tilde_expand seems to be designed to
>> expand
>>> '~'
>>> > > > anywhere in the string it is handed, i.e. operate on
>> whole
>>> command
>>> > > > lines, not file paths.
>>> > > >
>>> > > > I am taking the liberty of Cc-ing R-devel in case this
>> can be
>>> > > > considered a bug.
>>> > > >
>>> > > > --
>>> > > > Best regards,
>>> > > > Ivan
>>> > > >
>>> > > > [1]
>>> > > >
>>> [3][7]
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/names.c#L807
>>> > > >
>>> > > > [2]
>>> > > >
>>> [4][8]
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/platform.c#L1915
>>> > > >
>>> > > > [3]
>>> > > >
>>> [5][9]
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-unix.c#L147
>>> > > >
>>> > > > [4]
>>> > > >
>>> [6][10]
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-std.c#L494
>>> > > >
>>> > > > [5]
>>> > > >
>>> [7][11]
>> https://git.savannah.gnu.org/cgit/readline.git/tree/tilde.c?h=devel#n187
>>> > > >
>>> > > > ______________________________________________
>>> > > > [8][12]R-help using r-project.org mailing list -- To
>> UNSUBSCRIBE
>>> and more, see
>>> > > > [9][13]https://stat.ethz.ch/mailman/listinfo/r-help
>>> > > > PLEASE do read the posting guide
>>> > > > [10][14]http://www.R-project.org/posting-guide.html
>>> > > > and provide commented, minimal, self-contained,
>> reproducible
>>> code.
>>> > > >
>>> > > > References
>>> > > >
>>> > > > Visible links
>>> > > > 1. mailto:[15]krylov.r00t using gmail.com
>>> > > > 2. mailto:[16]schwidom using gmx.net
>>> > > > 3.
>>> [17]
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/names.c#L807
>>> > > > 4.
>>> [18]
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/platform.c#L1915
>>> > > > 5.
>>> [19]
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-unix.c#L147
>>> > > > 6.
>>> [20]
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-std.c#L494
>>> > > > 7.
>>> [21]
>> https://git.savannah.gnu.org/cgit/readline.git/tree/tilde.c?h=devel#n187
>>> > > > 8. mailto:[22]R-help using r-project.org
>>> > > > 9. [23]https://stat.ethz.ch/mailman/listinfo/r-help
>>> > > > 10. [24]http://www.r-project.org/posting-guide.html
>>> > >
>>> > > ______________________________________________
>>> > > [25]R-devel using r-project.org mailing list
>>> > > [26]https://stat.ethz.ch/mailman/listinfo/r-devel
>>> >
>>>
>>> ______________________________________________
>>> [27]R-devel using r-project.org mailing list
>>> [28]https://stat.ethz.ch/mailman/listinfo/r-devel
>>>
>>> References
>>>
>>> Visible links
>>> 1. mailto:schwidom using gmx.net
>>> 2. https://fs.r-lib.org/
>>> 3. mailto:schwidom using gmx.net
>>> 4. https://github.com/schwidom/simplefs
>>> 5. mailto:krylov.r00t using gmail.com
>>> 6. mailto:schwidom using gmx.net
>>> 7.
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/names.c#L807
>>> 8.
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/platform.c#L1915
>>> 9.
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-unix.c#L147
>>> 10.
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-std.c#L494
>>> 11.
>> https://git.savannah.gnu.org/cgit/readline.git/tree/tilde.c?h=devel#n187
>>> 12. mailto:R-help using r-project.org
>>> 13. https://stat.ethz.ch/mailman/listinfo/r-help
>>> 14. http://www.r-project.org/posting-guide.html
>>> 15. mailto:krylov.r00t using gmail.com
>>> 16. mailto:schwidom using gmx.net
>>> 17.
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/names.c#L807
>>> 18.
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/main/platform.c#L1915
>>> 19.
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-unix.c#L147
>>> 20.
>> https://github.com/wch/r-source/blob/12d1d2d232d84aa355e333348b81180a0e2c6f2f/src/unix/sys-std.c#L494
>>> 21.
>> https://git.savannah.gnu.org/cgit/readline.git/tree/tilde.c?h=devel#n187
>>> 22. mailto:R-help using r-project.org
>>> 23. https://stat.ethz.ch/mailman/listinfo/r-help
>>> 24. http://www.r-project.org/posting-guide.html
>>> 25. mailto:R-devel using r-project.org
>>> 26. https://stat.ethz.ch/mailman/listinfo/r-devel
>>> 27. mailto:R-devel using r-project.org
>>> 28. https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>> ______________________________________________
>> R-devel using r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
More information about the R-devel
mailing list