awk :
awk '$1~/.+,.+/{ split($1,a,","); $1=""; sub(/^ */,"",$0);
for(i=1;i<=length(a);i++) print a[i],$0; next }1' file
A saída:
Class1 info1 info2 info3 info4
Class2 info1 info2 info3 info4
Class3 info1a info2a info3a info4a
Class4 info1b info2b1,info2b2 info3b info4b
Class5 info1b info2b1,info2b2 info3b info4b
-
$1~/.+,.+/
- linha de processo se a primeira coluna contiver itens separados por vírgulas -
split($1,a,",")
- divide a primeira coluna em uma matriz de itens