[R] [Rd] Open a file which name contains a tilde

Gabriel Becker g@bembecker @end|ng |rom gm@||@com
Thu Jun 13 08:51:45 CEST 2019


On Wed, Jun 12, 2019, 5:16 AM Paul McQuesten <mcquesten using gmail.com> wrote:

> @ Gabriel:
>
> "Avoid tilde in file names":
> Not quite.
> A tilde *suffix* is commonly used by *nix editors for backup files
>
> https://unix.stackexchange.com/questions/76189/what-does-the-tilde-mean-at-the-end-of-a-filename


I'm aware of that, but that isn't the case that is being discussed, as the
example given clearly had a tilde (and spaces) in the middle of the file.
Backup files witilde suffix does not trigger the bug being discussed. It's
*only* files paths where the tilde is surrounded on both by spaces (or on
the right by the end fo the string) that trigger it.

> path.expand("a~b")

[1] "a~b"

> path.expand("a ~ b")

[1] "a /Users/gabrielbecker b"

> path.expand("myfile.txt~")

[1] "myfile.txt~"

> path.expand("myfile.txt ~")

[1] "myfile.txt /Users/gabrielbecker"


All that said I'm really not interested in participating in a flame war
over this. I gave my 2 cents as respectfully as I could, so as of now
please consider my participation  and interest in this thread closed.

Best,
~G



>
>
>
> On Wed, Jun 12, 2019 at 2:43 AM Kurt Hornik <Kurt.Hornik using wu.ac.at> wrote:
>
> > >>>>> Duncan Murdoch writes:
> >
> > With c76695 in the trunk, we now only tilde expand file names starting
> > with a tilde also when using readline.
> >
> > Best
> > -k
> >
> > > 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
> > >>
> >
> > > ______________________________________________
> > > R-devel using r-project.org mailing list
> > > 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
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list