A seguir, é simplesmente uma correção para a resposta do @tripleee, de
modo que retire todas as aspas do campo final, assim como ocorre com todos os outros campos.
Para mostrar o que está sendo corrigido, abaixo está a resposta de um triplo , além de uma ligeira modificação nos dados de exemplo do OP com aspas adicionais ao redor do campo ' Z ' final .
echo 'A,,C,"D,E,F","G",I,"K,L,M","Z"' | sed -r -e 's/("([^"]*)")?,/\2\t/g'
A C D,E,F G I K,L,M "Z"
Você pode ver que ' Z ' é deixado com aspas. Isso é diferente de como os campos internos são tratados. Por exemplo, o ' G ' não possui aspas.
O comando a seguir usa uma segunda substituição para limpar a coluna final:
echo 'A,,C,"D,E,F","G",I,"K,L,M","Z"' | sed -r -e 's/("([^"]*)")?,/\2\t/g' \
-e 's/\t"([^"]*)"$/\t\1/'
A C D,E,F G I K,L,M Z