попробуйте сawk
:
awk 'NR==1{ print; next } { repeat=$NF; while (repeat--) print } ' infile
данный образец файла не является файлом.csv, который должен быть разделен запятыми; вам нужно будет указать, какой разделитель используется во входном файле с опцией awk -F
.
awk -F, 'NR==1{ print; next } { repeat=$NF; while (repeat--) print } ' infile
ответ на вопрос, заданный в комментарии:
awk 'NR==1{ print; next } { bakup=$1; repeat=$NF;
while (repeat--) { $1=bakup"."++dup; print }; dup=0 }' infile