Далі - це просто виправлення відповіді від @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