Deve ser fácil com awk
:
$ awk -F'[";]' -vOFS='' '{for(i=2;i<NF;i++)print $1,$i}' file
1234,a
1234,b
1234,d
2345,e
2345,f
2345,g
2345,h
Eu queria saber se existe uma maneira fácil de fazer o seguinte sem escrever um script.
Transformar
1234,"a;b;d"
2345,"e;f;g;h"
para
1234,a
1234,b
1234,d
2345,e
2345,f
2345,g
2345,h
perl -nE '/(.*?)"(.*)"/; say "$1$_" for split /;/,$2'