does the output @ https://0x0.st/8-Fv.txt make it into the race by cmd @ https://0x0.st/8-Ft.txt
i can be as well fully off the topic excuse me then , and plz lemme know .. On Mon, Jan 13, 2025, 9:03 AM Félix Hauri <fe...@f-hauri.ch> wrote: > Le Sun, Jan 12, 2025 at 04:10:03PM -0500, Chet Ramey a écrit : > > > > This is a simplified version how it works: after you remove leading > > and trailing IFS whitespace, you read individual fields from the input > > using the characters in IFS as field terminators. > > > If you get to the last variable and find a field terminator (in this > > case, the end of input qualifies as a field terminator), you check > > whether there is additional input. > > > If there is, you just end the process there and assign whatever input > > followed the previous delimiter you found to the last variable, > > delimiters included. If not, the field is terminated and assigned to > > the last variable. > > > Re-reading man page and this discussion, I thing either this variable is > wrongly named "IFS", as `S` stand for "separator", either the man page > paragraph regarding "IFS" is something light. > > Btw, the command "mapfile" (readarray) seem more suitable** than "read" for > splitting an array on delimiter. (** constant) > > $ printf ' %-15s %-30s%s\n' String by\ Read{,Array};while IFS= read -r > line; > do > IFS=: read -r _k _v1 _v2 <<<"$line" > readarray -td: array < <(printf %s "$line"); > k="${array[0]}" v1="${array[1]}"; > IFS=:; v2=${array[*]:2}; IFS=$' \t\n'; > printf " %-15s k=%-3s v1=%-4s v2=%-11s k=%-3s v1=%-4s > v2=%-11s\n" \ > "${line@Q}" "${_k@Q}" "${_v1@Q}" "${_v2@Q}" \ > "${k@Q}" "${v1@Q}" "${v2@Q}"; > done < <( > printf '%s\n' \ > k{:v1{:v2{:v3{:{:{:,},},},:{:{:,},},},:{:{:,},},},:{:{:,},},} ) > > String by Read by ReadArray > 'k:v1:v2:v3:::' k='k' v1='v1' v2='v2:v3:::' k='k' v1='v1' > v2='v2:v3::' > 'k:v1:v2:v3::' k='k' v1='v1' v2='v2:v3::' k='k' v1='v1' > v2='v2:v3:' > 'k:v1:v2:v3:' k='k' v1='v1' v2='v2:v3:' k='k' v1='v1' > v2='v2:v3' > 'k:v1:v2:v3' k='k' v1='v1' v2='v2:v3' k='k' v1='v1' > v2='v2:v3' > '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: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 - <fe...@f-hauri.ch> - http://www.f-hauri.ch > >