Re: [Rd] [R] Open a file which name contains a tilde
On Wed, Jun 12, 2019, 5:16 AM Paul McQuesten 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 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 > > 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]schwi...@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] > > >>> schwi...@gmx.net> > > wrote: > > > > > > > > Hi, > > > > > > > > to get rid of
Re: [Rd] [R] Open a file which name contains a tilde
@ 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 On Wed, Jun 12, 2019 at 2:43 AM Kurt Hornik 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 > 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]schwi...@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] > >>> schwi...@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.r...@gmail.com> wrote: > > > > > > > > On Wed, 5 Jun 2019 18:07:15 +0200 > > > > Frank Schwidom <[2][6]schwi...@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. > > > > > > > > C
Re: [Rd] [R] Open a file which name contains a tilde
> 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 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]schwi...@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] >>> schwi...@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.r...@gmail.com> wrote: > > > > > > On Wed, 5 Jun 2019 18:07:15 +0200 > > > Frank Schwidom <[2][6]schwi...@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. > > > >>>