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

William Dunlap wdun|@p @end|ng |rom t|bco@com
Tue Jun 11 22:34:27 CEST 2019


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).

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]]



More information about the R-devel mailing list