Das Folgende ist einfach eine Korrektur der Antwort von @tripleee,
sodass alle Anführungszeichen aus dem letzten Feld entfernt werden, genau wie bei allen anderen Feldern.
Um zu zeigen, was korrigiert wird, finden Sie unten die Antwort eines Dreifachen sowie eine geringfügige Änderung der OP-Beispieldaten mit zusätzlichen Anführungszeichen um das letzte ' Z' -Feld.
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"
Sie können sehen, dass ' Z ' in Anführungszeichen gesetzt ist. Dies unterscheidet sich vom Umgang mit den inneren Feldern. Zum Beispiel enthält das ' G ' keine Anführungszeichen.
Der folgende Befehl verwendet eine zweite Ersetzung, um die letzte Spalte zu bereinigen:
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