ah , cool
.. my bash 5.3 dev seems to have declare -n arr\[elem] while i think the
old 5.2x that didnt work
try plzz ..
gimme_num( ) { local y o m='[0-9,.]' s=$'\n' i t ; t="(-?$m+)" ; unset -v o
; for n ; do unset -v i ; while [[ $n =~ $t ]] ; do y=${BASH_REMATCH[1]}
n=${n/"$y"} i= o+=$y$s ; done ; [[ -v i ]] && o+=$s ; done ; [[ -v o ]] &&
printf %s "$o" ; }
On Tue, Feb 11, 2025, 10:07 AM Phi Debian <[email protected]> wrote:
>
>
> On Tue, Feb 11, 2025 at 9:37 AM microsuxx <[email protected]> wrote:
>
>> how does it output strings .. ?
>> i mean i dont get ur outputs
>> 1 it doesnt include # and @ etc
>> 2 no hex etc yet , only numbers and dots / commas
>>
>> gimme_num 0x10 60#yo 0x10
>> 0
>> 10
>>
>> 60
>>
>> 0
>> 10
>>
>> but i dont get ur outputs such as 0x10xx or 64xx or the other ..
>>
>
> I cut/pasted as is your code
> $ gimme_num( ) { declare -n b=BASH_REMATCH\[1] ; local o m=[0-9,.] s=$n i
> t ; t="(-?$m+)" ; unset -v o ; for n ; do unset -v i ; while [[ $n =~ $t ]]
> ; do n=${n/"$b"} i= o+=$b$s ; done ; [[ -v i ]] && o+=$s ; done ; [[ -v o
> ]] && printf %s "$o" ; }
> $
>
> Then I run it with
> $ echo $BASH_VERSION
> 5.2.21(1)-release
> $ shopt
> autocd off
> assoc_expand_once off
> cdable_vars off
> cdspell off
> checkhash off
> checkjobs off
> checkwinsize on
> cmdhist on
> compat31 off
> compat32 off
> compat40 off
> compat41 off
> compat42 off
> compat43 off
> compat44 off
> complete_fullquote on
> direxpand off
> dirspell off
> dotglob off
> execfail off
> expand_aliases on
> extdebug off
> extglob off
> extquote on
> failglob off
> force_fignore on
> globasciiranges on
> globskipdots on
> globstar on
> gnu_errfmt off
> histappend off
> histreedit off
> histverify off
> hostcomplete on
> huponexit off
> inherit_errexit off
> interactive_comments on
> lastpipe off
> lithist on
> localvar_inherit off
> localvar_unset off
> login_shell off
> mailwarn off
> no_empty_cmd_completion off
> nocaseglob off
> nocasematch off
> noexpand_translation off
> nullglob off
> patsub_replacement on
> progcomp on
> progcomp_alias off
> promptvars on
> restricted_shell off
> shift_verbose off
> sourcepath on
> varredir_close off
> xpg_echo off
>
> And got this
>
> $ gimme_num 0x10 60#yo 0x10
> 0x10xx60xx0x10xx$
>
>