Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: (s) splitting - is there any way to provide "dynamic" separator



On Fri, Oct 10, 2014 at 08:31:35PM -0700, Bart Schaefer wrote:
> On Oct 11,  8:38am, Han Pingtian wrote:
> }
> } % a=11::22:33;print -l ${(ps.\0.)a//:/$'\0'}
> } 11
> } 22
> } 33
> } % a=11::22:33;print -l "${(ps.\0.)a//:/$'\0'}"
> } 11$''$''22$''33
> } %
> } 
> } Looks like $'\0' in double-quotes is converted to $'' and it doesn't equal
> } to \0 ?
> 
> Although it looks like an expansion, $'...' is actually a form of quotes,
> and therefore cannot be used inside a double-quoted string.
> 
Thanks.
> The \0 is actually being removed by "print -l".  Add the -R option:
> 
> torch% a=11::22:33;print -l -R "${(ps.\0.)a//:/$'\0'}" 
> 11$'\0'$'\0'22$'\0'33
> torch% 



Messages sorted by: Reverse Date, Date, Thread, Author