Следующее является просто исправлением ответа от @tripleee,
так что он удаляет все кавычки из конечного поля так же, как и все остальные поля.
Чтобы показать, что исправляется, ниже приведен ответ тройного пользователя , а также небольшая модификация примерных данных ОП с добавлением кавычек вокруг последнего поля « Z ».
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"
Вы можете видеть, что « Z » остается с кавычками вокруг него. Это отличается от того, как обрабатываются внутренние поля. Например, у ' G ' нет кавычек.
Следующая команда использует вторую замену для очистки последнего столбца:
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