#!/bin/sh
cat in.csv | awk '
BEGIN { FS=","; RS="\n"; OFS=""; }
{
IN="no";
for(i=1; i<=NF; i++)
{
if ( IN == "no" && i > 1 ) printf (";" );
if ( IN == "no" && substr($i, 1, 1) == "\"" ) IN="yes";
printf( "%s", $i );
if ( IN == "yes" )
{
if( substr($i, length($i), 1) == "\"" ) IN="no";
else printf( "," );
}
}
printf ( "\n" );
}' > out.csv