Web lists-archives.com

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