---------- Forwarded message ---------
Date: Thu, Jul 16, 2020 at 11:42 AM
Subject: Re: delimiters with more than one character?
To: <[email protected]>
I've slowly been learning the Raku programming language (AKA Perl6), and
while I'm far from being an expert, this is the first solution I came up
with (raku one-or-two-liners, at the bash command prompt):
user@mbook:~$ raku -e ' my Str $s=" 34 + 45 \| abc \| 1 2 3 \| c\|123abc ";
$s.put';
34 + 45 | abc | 1 2 3 | c|123abc
user@mbook:~$ raku -e ' my Str $s=" 34 + 45 \| abc \| 1 2 3 \| c\|123abc ";
$s.split("|").raku.put';
(" 34 + 45 ", " abc ", " 1 2 3 ", " c", "123abc ").Seq
user@mbook:~$ raku -e ' my Str $s=" 34 + 45 \| abc \| 1 2 3 \| c\|123abc ";
.put for $s.split("|");'
34 + 45
abc
1 2 3
c
123abc
user@mbook:~$ raku -e ' my Str $s=" 34 + 45 \| abc \| 1 2 3 \| c\|123abc ";
.raku.put for $s.split("|");'
" 34 + 45 "
" abc "
" 1 2 3 "
" c"
"123abc "
user@mbook:~$
Looking at the Str typed-variable $s I see that backslash escapes are
removed automatically (the second command only has to split on the pipe
character). So maybe this isn't a general solution, but it works for the
example given.
https://raku.org/
HTH, Bill.
On Thu, Jul 16, 2020 at 5:35 AM Tom Browder <[email protected]> wrote:
> An opportunity for Raku golfers to show off Raku on the Debian users list.
>
> Best regards,
>
> -Tom
>
> ---------- Forwarded message ---------
> From: Albretch Mueller <[email protected]>
> Date: Tue, Jul 14, 2020 at 07:52
> Subject: delimiters with more than one character? ...
> To: Debian Users ML <[email protected]>
>
>
> I have a string delimited by two characters: "\|"
>
> _S=" 34 + 45 \| abc \| 1 2 3 \| c\|123abc "
>
> which then I need to turn into a array looking like:
>
> _S_AR=(
> " 34 + 45 "
> " abc "
> " 1 2 3 "
> " c"
> "123abc "
> )
>
> I can't make awk or tr work in the way I need and all examples I
> have found use only one character.
>
> Is it possible to do such things in bash?
>
> lbrtchx
>
>