--- Begin Message ---
Subject: |
ls doesn't quote newlines with -Q properly |
Date: |
Sun, 14 Aug 2016 19:13:33 +0200 (CEST) |
User-agent: |
Alpine 2.11 (LSU 23 2013-08-11) |
Filename containing a newline is not listed in a way reusable by shell
regardless of the --quoting-style:
$ touch a$'\n'b
$ for s in literal shell shell-always c c-maybe escape locale clocale ; do
ls -Q a?b --quoting-style=$s
done
a?b
'a?b'
'a?b'
"a\nb"
"a\nb"
a\nb
‘a\nb’
‘a\nb’
I'd expect something like $'a\nb' (might be bash specific) or 'a
b' (i.e. containing the actual newline) or something.
Versions:
bash 4.2.53(1)-release
ls (GNU coreutils) 8.23
system: OpenSUSE 13.2 x86_64
Reference:
http://stackoverflow.com/q/38938218/1030675
Ch.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#24225: ls doesn't quote newlines with -Q properly |
Date: |
Mon, 15 Aug 2016 10:04:46 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 |
On 14/08/16 18:13, E. Choroba wrote:
> Filename containing a newline is not listed in a way reusable by shell
> regardless of the --quoting-style:
There were many cases where the output from ls was unusable.
This was fixed since coreutils-8.25 where the new 'shell-escape'
quoting style was introduced, and in fact is used by default.
$ ls a?b --quoting-style='shell-escape'
'a'$'\n''b'
thanks,
Pádraig
--- End Message ---