Raw Input
A,B,"C,D,E",F,G,"H,I",J,"K,L,M",N
Desired Output
A,B,"C-D-E",F,G,"H-I",J,"K-L-M",N
Script and Comments
Script1 [sed]
[ 1] :loop
[ 2] s/^\(\(\([^"]*"\)\{2\}\)*[^"]*"[^",]*\),/\1-/
[ 3] t loop
Script2 [perl]
[ 1] while(s/^((([^"]*"){2})*[^"]*"[^",]*),/$1-/) {};
[ 2] print;