k='k', v='v1::'
row='k:v1:' k='k', v='v1'
row='k:v1' k='k', v='v1'
row='k:::' k='k', v='::'
row='k::'k='k', v=''
row='k:' k='k', v=''
row='k' k='k', v=''
Thanks for driving my attention to this *feature*!
--
Félix Hauri -- http://www.f-hauri.ch
;
./1234/Ça marche.
./1234/Ça marche.
So you could obtain two different entries with same name, in same directory:
mkdir -p "${var1}" "${var2}"
ls -dig 1234/*
1572965 drwxr-xr-x 2 user 4096 18 jan 12:13 '1234/Ça marche.'
1572964 drwxr-xr-x 2 user 4096 18 jan 12:13 '1234/Ça marche.'
--
Félix Hauri -- http://www.f-hauri.ch
'v1' v2='v2::' k='k' v1='v1' v2='v2:'
'k:v1:v2:' k='k' v1='v1' v2='v2' k='k' v1='v1' v2='v2'
'k:v1:v2' k='k' v1='v1' v2='v2' k='k' v1='v1' v2='v2'
'k:v1:::' k='k' v1='v1' v2='::' k='k' v1='v1' v2=':'
'k:v1::'k='k' v1='v1' v2='' k='k' v1='v1' v2=''
'k:v1:' k='k' v1='v1' v2='' k='k' v1='v1' v2=''
'k:v1' k='k' v1='v1' v2='' k='k' v1='v1' v2=''
'k:::' k='k' v1='' v2='' k='k' v1='' v2=''
'k::' k='k' v1='' v2='' k='k' v1='' v2=''
'k:'k='k' v1='' v2='' k='k' v1='' v2=''
'k' k='k' v1='' v2='' k='k' v1='' v2=''
--
Félix Hauri -- http://www.f-hauri.ch
t; $ printf '%b\0' winter spring 'summer\0200apple\0200banana\0200cherry' automn
> |
>./bash -c 'while IFS= read -rd "" season; do LC_ALL=C printf "<%q>\n"
> "$season"; done'
>
>
>
>
>
>
>
>
--
Félix Hauri -- http://www.f-hauri.ch
printf -v "$i" '%.2f%s' $res ${ar[pos]:-x1K^$pos}
done
}
Then
var=99;humanizeVar var;echo $var
90.95T
looks good, but
var=99;humanizeVarFactor=1000 humanizeVar var;echo $var
99.00T
should sow '100.00T' instead!
--
Félix Hauri -- http://www.f-hauri.ch
My bad, I did'nt upgraded my source tree!
Sorry for the noise!
Le Tue, Jul 15, 2025 at 09:58:56AM -0400, Chet Ramey a écrit :
> On 7/15/25 7:33 AM, Félix Hauri wrote:
>
> >var=99;humanizeVar var;echo $var
> >90.95T
> > looks good,
Le Fri, Aug 01, 2025 at 12:44:14PM +0200, Félix Hauri via Bug reports for the
GNU Bourne Again SHell a écrit :
> All this could be done by using `mapfile`!
I wrote a litte `arrayPopulate` function regarding your request:
https://f-hauri.ch/vrac/arrayManip.sh.txt
Usage: arrayPopulate
..c}{0..2};
> .|printf '%s\n' "${T[@]}";
> -|a0 a1 a2
> -|d0 d1 d2
> -|g0 g1 g2
> -|a0 a1 a2
> -|b0 b1 b2
$ printf -v tmpStr '%s %s %s\n' {a..b}{0..2}
$ mapfile -O $((${#T[@]}-1)) -t T <<<"${tmpStr%$'\n'}"
$ dumpArray T
[0]='a0 a1 a2'
[1]='d0 d1 d2'
[2]='g0 g1 g2'
[3]='a0 a1 a2'
[4]='b0 b1 b2'
> Similar effect in part can be had with this code:
>
> declare -i L=;
> while read A B C;
> do T[L++]="$A $B $C";
> done < <(
> printf '%s %s %s\n' {a..c}{0..2});
( From a while, I tend to avoid bash loops ;-)
--
Félix Hauri -- http://www.f-hauri.ch