while IFS=';,' read -a data; do id="${data[0]}" data=("${data[@]:1}") printf "$id;%s\n" "${data[@]}" done < input.txt
or
awk -v FS=';' -v OFS=';' '{for (i = 2; i <= NF; ++i) { print $1, $i }}'
AND
$ awk -F\; '{for(n=2; n<=NF; n++) { printf("%s;%s\n",$1,$n); }}' input.txt
Thank you all for your suggestions: d. It really gives me new knowledge.
source share