This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: gnanny: tr: warning: an unescaped backslash at end of string is not portable
On 2018-12-31 05:57, Eliot Moss wrote:
> On 12/31/2018 5:58 AM, L A Walsh wrote:
>> This is being run on cygwin w/bash, version 4.4.12(3)-release.
>> Have a table of windows files, sample line (it's all 1 line):
>>> cat test
>> D,"c:\windows\system32\FMS.DLL",2010-11-20 19:24:33,2010-11-20
>> 03:59:27,93696,A,0x00024E23,0x00024E23,x86,GUI,"CV",0x04480000,Unknown,0x00019000,Not
>> Loaded,1.1.6000.16384,1.1.6000.16384,6.1,9.0,6.1,6.1
>> I run 'tr' to switch around the backslashes to slashes:
>>> tr '\' '/' <test
>> tr: warning: an unescaped backslash at end of string is not portable
>> D,"c:/windows/system32/FMS.DLL",2010-11-20 19:24:33,2010-11-20
>> 03:59:27,93696,A,0x00024E23,0x00024E23,x86,GUI,"CV",0x04480000,Unknown,0x00019000,Not
>> Loaded,1.1.6000.16384,1.1.6000.16384,6.1,9.0,6.1,6.1
>> 1) First question: what unescaped backslash? The '\n is escaped via the
>> surrounding quotes.
>> 2) how should one escape it?
>> Is this a bug?
> It is referring to your input '\' and would prefer '\\'.
The problem is in your command line argument single backslash
info/man tr
tr accepted common character escapes, and now also classes and equivalences in
sets to support utf8 and other extended charsets e.g.
$ tr '\' /
tr: warning: an unescaped backslash at end of string is not portable
^D
use $ tr '\\' /
$ tr \\ /
tr: warning: an unescaped backslash at end of string is not portable
^D
use $tr \\\\ /
--
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple